簡単な質問–スプライトの無限の移動シーケンスを設定する最も効率的な方法は何ですか?私は現在これで実行しています:
-(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];
}
しかし、これにより、アクションが何度も呼び出されることで、奇妙なゾンビやリークが発生する可能性があるのではないかと心配しています。もっと良い方法はありますか?