インスタンス化したばかりのオブジェクトの子を取得するには、いくつかの魔法が必要です。話はここにあります:EaselJS:ライブラリからオブジェクトをインスタンス化した後に子にアクセスする方法
私はアニメーションCCを持っています。私は少数の子供たちと一緒に映画クリップを作っています。私はそれに満足した後、ライブラリ内のリンケージをFooClip
に設定し、シーンを公開します。今私は、JSファイルを編集し、いくつかの魔法を追加します。たとえば、オブジェクトのインスタンスを少数ずつ、それぞれのインスタンスごとに異なるインスタンスを作成します。コードは、多かれ少なかれのようになります。
for (var i = 0; i < 10; i++) {
var foo = new lib.FooClip();
var child = foo.getChildAt(i);
console.log(child); // This prints out `undefined`
child.alpha = 0.5;
foo.x = i * 10;
stage.addChild(foo);
}
そして当然、私は
Main.js:58 Uncaught TypeError: Cannot set property 'alpha' of undefined
いくつかのより多くのログを追加し、ブレークポイントを設定した後、私はインスタンス化した後、それを見ることができます...ここでエラーを取得しています新しい物私はまだ子供がいません。またconsole.log(foo.children);
は私に絶対に何も...
を示していないが...追加汚い少しハックされています setTimeout(function(){ console.log(foo.children); }, 200);
私の内側のforループは、すべての子を私にプリントアウトされます。つまり、オブジェクトが実際にインスタンス化され、アクセスできるようになる前にすべてのくそを作成するまで待つ必要があるようです。私はいつも良いフラッシュの日にADDED_TO_STAGE
イベントを待っているのを覚えていますが、ここには何も表示されません。/(added
ですが、それは助けになりません)。
誰でも解決方法を知っていますか?私は何か明白なことを忘れましたか?
ブリリアント!それは今働きます。 'gotoAndStop'(とPlay)が更新を強制していることを知っておきましょう。大きな感謝@ラニー。 – 3vilguy
お寄せいただきありがとうございます。間違いなく解決したい! – Lanny