1
我正在執行一個精靈的runAction以移動到某個位置。如何在runAction結束時調用特定的函數?
[[crBalls[cb.count] getball] runAction:[CCSequence actions:[CCMoveTo actionWithDuration:timeToTravel position:ccp(xIntercept,yIntercept)],[CCMoveTo actionWithDuration:0.05 position:FD],nil]];
一旦精靈移動到所需的位置(FD),那麼我想在那個時候調用一個函數。現在我正在調度一個選擇器,在延遲'timeToTravel'之後調用這個選擇器,這是上述動作完成執行所花費的時間(我使用調度器而不是performSelector,因爲執行選擇器更容易出現問題)
[self schedule:@selector(placeThatDamnBall) interval:timeToTravel+0.05];
-(void) placeThatDamnBall
{
[self unschedule:@selector(placeThatDammBall)];
[self ballPlacedIn:FD.x :FD.y :cb.type : cb.count];
}
但是,這不是完全可靠的,並且可能會導致問題,在極少數情況下可能會在sprite到達目的地之前調用該函數。有什麼辦法可以避免必須調用選擇器,並且一旦精靈真正到達目的地就能夠調用該函數?
感謝