同じスプライトの複数の子を挿入してアクセスする (または実行時にそれらの位置を設定する) のに問題があります。適切な方法があれば、できれば私の間違いを指摘してください。これが私のアプローチです。
//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関数」でこれを呼び出しています。
hurdle.position = CGPointMake(hurdle.position.x - 5, 10);
if (hurdle.position.x <= -5) {
hurdle.position = ccp(480, 10);
}
動作しますが、予想通り、水平方向に移動するインスタンスは 1 つだけです。すべてのインスタンスを移動したいので、これを使用しようとしています....
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);
}
さまざまな場所でログを取得しようとしましたが、getChildByTag が使用しようとしている方法で機能しないことに気付きました。