0
我需要連續使用CCMoveTo
來移動精靈,作爲動作鏈。然而,精靈本身以及持續時間需要在每次迭代中改變。這是單一行爲。動態組件對精靈的連續動作
id cloudAction = [CCSequence actions:
[CCMoveTo actionWithDuration:15.0 position:ccp(-spriteCloud.contentSize.width/2, windowSize.height/2)],
cloudActionComplete,
nil
];
[spriteCloud runAction:cloudAction];
15
秒,精靈本身,起始位置,結束位置都需要每個CCMoveTo
完成時間被改變。但我不知道如何有效地從cloudActionComplete
塊操作重新運行此操作。由於我的動作具有動態性,因此我無法使用CCRepeatForever
。也許有更好的方法來完成這樣的任務?
更新:
這是我嘗試
id cloudActionComplete = [CCCallBlock actionWithBlock:^(void)
{
spriteCloud.position = ccp(windowSize.width + spriteCloud.contentSize.width/2, windowSize.height/2);
id cloudAction = [CCSequence actions:
[CCMoveTo actionWithDuration:RANDOMRANGE(2, 10) position:ccp(-spriteCloud.contentSize.width/2, windowSize.height/2)],
cloudActionComplete,
nil
];
[spriteCloud runAction:cloudAction];
}];
[spriteCloud runAction:cloudActionComplete];
它的作品只有一次,我認爲這個問題是在完成動作的遞歸。 cloudActionComplete
是零。
動態行爲跳躍動作,全線通過更新位置每幀移動的節點,這樣,你有完全的控制 – LearnCocos2D
是的,結束了與調度更新...謝謝 – Pablo