0

Greensocks TweenMax または TweenLite を使用してカウンターを作成するにはどうすればよいですか? 誰かが上書きマネージャーを理解していますか?

私のコードは AS3 になります。私はそれがタイマーベースであり、それが自己とループであることを可能にするか、リセットしたいと思っています。アドバイスまたはスターターコードはクールです。また、トゥイーンエンジンを使うのは悪いことですか? お知らせ下さい。

IDEAS
移動数列「ピクセル単位で増加」
0
1
2
3
4
5
6
7
8
9
0

//1
TweenMax.to
(num7, 1, {y:-3911, delay:1, paused:false, useFrames : false, immediateRender : false});
//2
TweenMax.to
(num7, 1, {y:85, delay:2, paused:false, useFrames : false, immediateRender : false});
//3
TweenMax.to
(num7, 1, {y:-3911, delay:3, paused:false, useFrames : false, immediateRender : false});
//4
TweenMax.to
(num7, 1, {y:85, delay:4, paused:false, useFrames : false, immediateRender : false});
//5
TweenMax.to
(num7, 1, {y:-3911, delay:5, paused:false, useFrames : false, immediateRender : false});
//6
TweenMax.to
(num7, 1, {y:85, delay:6, paused:false, useFrames : false, immediateRender : false});
//7
TweenMax.to
(num7, 1, {y:-3911, delay:7, paused:false, useFrames : false, immediateRender : false});
//8
TweenMax.to
(num7, 1, {y:85, delay:8, paused:false, useFrames : false, immediateRender : false});
//9
TweenMax.to
(num7, 1, {y:-3911, delay:9, paused:false, useFrames : false, immediateRender : false});
//10

外観 「load-sprite-method に似たものが出たり消えたりします」
「例はありません」

私の問題
-無限 ループモーション
-グローバルタイムスケーリングと数学フロア
-ゴミの蓄積

4

1 に答える 1

0

物事を複雑にしすぎる癖があるようですね。おそらくトゥイーン エンジンは使用しないでしょうが、Timer クラスを使用する可能性があります。

また、物事を扱いやすいチャンクに分割します。現時点では、タイミングコードがあり、表示コードがすべて混ざっているようです。これらの個別のパーツを作成します。

  1. CounterTimer - 何をカウントするかを計算するもの (時間ベース)。
  2. CounterView - カウンターのビジュアル グラフィック。唯一の仕事は、表示するように言われた数字をレンダリングすることです。そして、状態間の遷移を処理します。
  3. CounterController - 中間業者のようなもの。CounterTimer から現在のカウントを取得し、CounterView にその数をレンダリングするように指示します (フレームごとに 1 回しかレンダリングできないため、フレームベース)。

このように分解すると、一度に 1 つのコンポーネントに集中して、その 1 つの部分を他の部分から切り離してテストできることを意味します。例えば; まず、CounterView をビルドできます。これはおそらく、ステージ上にグラフィックを保持する MovieClip になります。次のメソッドがある場合があります。

public function displayNumber(numberToDisplay:Number):void

このメソッドが呼び出されると、CounterView はトランジションを含むその番号のグラフィックを表示します。このコンポーネントをテストするには、CounterView 親からこのメソッドを乱数で呼び出します。動作したら、CounterTimer の作業を開始できます。

CounterTimer の場合、おそらくもう少し API が必要になるでしょう。

public function CounterTimer( startCount:Number ) //This is the constructor.
public function start()
public function reset():void
public function getCount():Number

CounterTimer が終了したら、CounterController を開始してそれらを接続します。CounterController は enterframe イベントをリッスンし、フレームごとに CounterTimer のカウントを表示するように CounterView に指示する必要があります。

于 2010-02-12T03:17:50.513 に答える