2

それで、

CreateJSを学び始めたばかりで、最初の問題が発生しました。トゥイーンを機能させることができません(期待どおりに機能するはずです)。

次に例を示します。http://www.hakoniemi.net/labs/createjs-test/

そのクラウドを右から左に移動させたいのですが、現時点ではターゲットにジャンプするだけです。

コードは次のようになります。

 createjs.Tween.get(stack["cloud"]).to({"x":25}, 1000).call(test);

ここで、createjs.Tween.get(stack["cloud"])は有効であり、関数testが実行されます。ただし、1000msの視覚効果はまったくありません。

私はチュートリアルを調べました、そしてこれは物事がどのように機能するべきかです、しかし彼らはそうではありません。私は何が間違っているのですか?

編集:コンソールで異なる値のコードを再実行すると、トゥイーンと視覚効果が正常に発生します(setTimeoutが使用されているバージョンは次のとおりです:http://www.hakoniemi.net/labs/createjs-test/index2.html

4

1 に答える 1

2

で初期x値を設定するときにタイプの問題があります

if (this.getAttribute("x")) {
  ref.x = this.getAttribute("x");
}

問題は、getAttribute()出力を確認できる文字列を返すことですObject.prototype.toString.call(ref.x)。このように、トゥイーンが初めて実行しようとすると、適切な計算ができないようです。最終的には、値が数値として最終値に正しく更新されるため、同じメソッドへの次の呼び出しが正しく機能します。

ref.xが数値であることを確認するだけで、これを修正できます。例えば:

if (this.getAttribute("x")) {
  ref.x = parseInt(this.getAttribute("x"));
}

あなたはそれがこのフィドルで働いているのを見ることができます。

最後に、BitmapImageLoadedは、アセットが読み込まれるとすぐにステージにアセットを追加します。雲の画像が背景の前に読み込まれると、その下に配置され、雲の画像を表示できなくなります。(念のため :))

于 2012-09-03T00:20:36.727 に答える