0

簡単な質問–スプライトの無限の移動シーケンスを設定する最も効率的な方法は何ですか?私は現在これで実行しています:

-(void) pathToMove:(CCParticleSystemQuad*) system
{
    CGSize screenSize = [[CCDirector sharedDirector] winSize];
    int width = screenSize.width;
    int height = screenSize.height;
    float randX = arc4random() % width;
    float randY = arc4random() % (height - 200);

    CGPoint start = system.position;
    CGPoint end = ccp(randX, randY);

    float finalDistance = ccpDistance(start, end);
    float speedToMove = 500.0;

    float durationToMove = finalDistance / speedToMove;

    [system runAction:[CCSequence actions:[CCMoveTo actionWithDuration:durationToMove position:ccp(randX,randY)],[CCCallFuncN actionWithTarget:self selector:@selector(completedCurve:)],nil]];

}
-(void) completedCurve:(id) sender
{
    [self pathToMove:sender];   
}

しかし、これにより、アクションが何度も呼び出されることで、奇妙なゾンビやリークが発生する可能性があるのではないかと心配しています。もっと良い方法はありますか?

4

0 に答える 0