NGUIはバージョンアップが早く、機能改善やバグフィックスも頻繁に行われてます。ただ、プロジェクト仕掛中にNGUIバージョンを上げて挙動が変わってしまうのは問題です。色々な都合で旧バージョンを使い続けないといけないけど、思ったように動いてくれないのも困ります。
苦肉の策で思ったように動かない時はソースに手を入れてます。NGUIのどのバージョンで、どんな問題にぶつかって、どう対処したか、メモを残しておきます。
都度追加していきます。
ボタンのisEnabledを設定するとTweenアニメのDurationが0.15秒になる
NGUI 3.0.7 f3
UIButtonのTransitionを0 secondsに設定しているにも拘わらず、isEnabledをtrue/falseに設定すると、TweenColorのアニメーションがduration 0.15 secondsで実行されてしまう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public bool isEnabled { : set { : UpdateColor(value, false); } } : public void UpdateColor (bool shouldBeEnabled, bool immediate) { : // BEFORE TweenColor tc = TweenColor.Begin(tweenTarget, 0.15f, c); // AFTER TweenColor tc = TweenColor.Begin(tweenTarget, duration, c); : } |
プロパティisEnabledのsetからUpdateColor()を呼び出してました。
UpdateColor()の中で設定しているTweenColor.Begin()のdurationが何故か0.15fと固定値になってたので、これをUIButtonColorのプロパティdurationに置き換えました。これで、UIButtonコンポーネントのTransitionに設定した値が使われるようになりました。Hover, PressedへのTweenと同じ時間になります。
(2014/5/7)
コメントを残す
コメントを投稿するにはログインしてください。