我正在做象棋这样的游戏。一旦我的玩家移动完成(如果他开始从一个地方移动到另一个地方),我的AI移动就开始了(在我的玩家到达目的地之前)。有时我发现现在移动的AI硬币很难。如何延迟它。
答案 0 :(得分:0)
如果您的播放器移动受 Core Animation 限制,您可以将setAnimationDidStopSelector
设置为自定义STOP功能并在那里启动AI。
如果你有一个带有状态的游戏循环,只需添加足够的状态(例如user_move_began
,user_move_ended
,ai_think_began
,ai_think_ended
,{ {1}} ..)对流程进行排序。
答案 1 :(得分:0)
我想我明白你现在在说什么。
您需要执行CCSequence,最后在CCCallFunc中调用AI函数:
CCSequence *playerMove = [CCSequence actions:
[CCMoveTo actionWithDuration: 0.4f position: CGPointMake(10,10)],
[CCCallFunc actionWithTarget: self selector: @selector(doAIstuff)],
nil];
[playerSprite runAction: playerMove];
您需要让AI成为可调用的函数(即doAIstuff
)。你说代码在draw()中是令人困惑的。