0

これが基本的すぎるように聞こえる場合は申し訳ありませんが、実際には理解できません。私の Cocos2d Box2d ゲームでは、ボディが破壊された後、20 ~ 30 秒ごとにボディを作成したいと考えています (最初に作成される前に 20 ~ 30 秒待機することから始めます)。以下は、作成と破棄を呼び出す私のメソッドです。ありがとう。

ボールの作成:

-(void)ballScheduler  {

[self createBall:ballWorld inLayer:ballLayer];
}

ボールの破壊:

-(void)destroyBall{
ballWorld->DestroyBody(ballBody);
ballBody = NULL;
[ballLayer removeChild:ballSprite];
}
4

1 に答える 1

0

アクションを使用して時間間隔を測定します。したがって、destroyBall 関数内のコードは次のようになります。

[self runAction:[CCSequence actions:[CCDelayTime actionWithDuration:20.0],
                                    [CCCallFuncN actionWithTarget:self selector:@selector(createNewBody:)],
                                    nil
                ]
];

しばらく前に cocos2d を使用したことがあるので、コードは 100% 正しいとは限りませんが、正しいコードの範囲内のどこかにある可能性があります。私の記憶が正しければ、CCNode または派生クラス オブジェクトでのみ runAction を呼び出すことができるため、ここでの「自己」は、関連するタイプのオブジェクトか、CCScene 自体である必要があります。それはすべて、ゲームをどのように設計したかによって異なります。コードを見ずに実装についてコメントすることはできません。

于 2013-08-20T16:52:37.853 に答える