0

actionscript3プロジェクトで次の問題が発生しました。

ホルダースプライトに座っているクラスを介してボタンのグループを設定しています。

これらのボタンの1つをロールオーバーすると、ホルダー内のすべてのボタンをループし、tweenliteを実行して、名前が現在アクティブなボタンと一致する場合を除いて、アルファを.4にトゥイーンします。

ロールアウトすると、トゥイーンライトトゥイーンを介してすべてのボタンを再びアルファ1にリセットします。

これはほとんどの場合正常に機能します。私が抱えている問題は次のとおりです。

  • あるボタンから別のボタンにまっすぐ転がすと、ちらつきがたくさんあります
  • 別のボタンにロールすると、フェードインしてから再びフェードアウトすることがあります
  • すべてのボタンをアルファ1に戻す代わりに、初期状態のアルファに戻す必要がある場合があります。

私はtweengroupを使ってみましたが、これも役に立たないようです。

詳細が必要な場合はお知らせください。コードは他の多くのものに統合されているので、私はそれを投稿していませんが、必要に応じて何かをまとめることができます。

ありがとう。

ジョシュ

4

2 に答える 2

1

IMO、これらのボタンのクラスを作成して、内部で状態を維持する必要があります...したがって、外部からは2つのメソッドのみを呼び出します。たとえばfadeDownfadeUpボタンでは...ボタン自体が知っています。トゥイーンが実行されているなど...常に自分のトゥイーンを強制終了します(または、正しいトゥイーンの場合は単に続行します)...次に、適切なアニメーションを開始して、内部状態の適切な視覚的表現を取得します。 ..そのことについては、状態パターンの使用を検討するかもしれません...コードをクリーンに保つために...(ファイルが多すぎないようにプライベートクラスを使用するだけです)...

また、これの良い点は、アニメーションがロジックから分離されているため、ロジックのコンテキスト外でボタンを簡単に再利用したり、アニメーションの概念を変更したりできることです(たとえば、ボタンをフェードダウンする代わりにぼかします)。 )ロジックに影響を与えることなく..。

お役に立てれば ... ;)

グリーツ

back2dos

于 2009-07-23T12:06:16.673 に答える
0

ちらつきを避けるために、トゥイーンに少し遅延を使用して、それらを互いに上書きさせることができます(TweenLiteページで確認してください)

それらを最初のアルファに戻す問題に対して、うまくいかない場合は簡単ですか?

于 2009-07-23T20:43:33.547 に答える