2

cocos2d-iphone を使用してスプライトをレイヤーに配置し、ゲームのプレイフィールドをセットアップしています。ゲームの特定の時点で、ゲームの状況に基づいて特定のスプライトを削除する必要があります。私がやりたいことは、Sprite ポインターの配列をセットアップすることですが、2 つの質問があります。

Sprite ポインタを配列に配置する最良の方法は何ですか?

スプライトへのポインタのみを使用して cocos2d でスプライトを削除するにはどうすればよいですか? 親レイヤーからそれを行う方法は知っていますが、メインのゲーム ループには実行時間がかかりすぎます。

前もって感謝します!

4

3 に答える 3

3

Spriteクラスはから継承するのでCocosNode、呼び出すことができるはずですspritePointer.parent.remove(spritePointer)

于 2008-11-26T17:46:28.403 に答える
2

もあり[mySprite removeFromParentAndCleanup:YES]ます。

于 2012-05-26T21:24:44.303 に答える
2

私はそれを考え出した。他の誰かが興味を持っている場合、それを行う方法は、次のようにスプライト ポインターの配列を宣言することです。

Sprite * mySprites[10][10]; // assuming a 10x10 playfield where obstacles get placed

次に、スプ​​ライトを設定するときに:

mySprites[0][0] = [Sprite spriteWithFile: @"obstacle.png"];   
[myLayer add:mySprites[0][0]];  

スプライトを削除するには:

[myLayer remove:mySprites[0][0]];
于 2008-11-26T18:00:24.210 に答える