同じスプライトの複数の子を挿入してアクセスする(または実行時に位置を設定する)のに問題があります。適切な方法を教えて、私の間違いを指摘することをお勧めします。ここに私のアプローチがあります。CCスプライトの追加とアクセス
//In the Init Method...
//int i is defined in the start.
for (i = 1; i < 4; i++)
{
hurdle = [CCSprite spriteWithFile:@"hurdle1.png"];
[self addChild:hurdle z:i tag:i];
hurdle.position = CGPointMake(150 * i, 0);
}
キャンバス上にすべてのスプライトが表示されます。いくつかの "UPDATE Function"ではこれを呼び出しています。
hurdle.position = CGPointMake(hurdle.position.x - 5, 10);
if (hurdle.position.x <= -5) {
hurdle.position = ccp(480, 10);
}
予想どおり、1つのインスタンスだけが水平方向に移動します。私は、様々な場所にログを取得しようとしたgetChildByTagは私がしようとしているように動作しないことに気づきました
for (i = 1; i < 4; i++){
[hurdle getChildByTag:i].position = CGPointMake(hurdle.position.x - 5, 10);
//OR
[hurdle getChildByTag:i].position = CGPointMake([hurdle getChildByTag:i].position.x - 5, 10);
}
....すべてのインスタンスが、私はこれを使用しようとしていますので、移動することにしたいですこれを使って。
私のように何をenumHurdle宣言する必要がありますか? CCSprite? –
@ToughGuyそれは正しいです。ありがとう、私はそれを編集します。 –
あなたの助けをたくさんありがとう。しかし今、私はスプライトを追加することについてはうんざりですが、同じタグを共有しないようにしたいと思います。D –