jjzjj

ccaction

全部标签

ios - 无论如何要在 Action 开始后修改 CCMoveTo 的目的地?

我想移动一个节点并在移动完成后调用一个block。但有时我需要在节点移动时将节点移动到另一个位置(更改目的地)。我不能简单地停止之前的操作并开始新的操作,因为回调不会被调用并导致不一致的状态。idmove=[CCMoveToactionWithDuration:timeposition:pos];idcall=[CCCallBlockactionWithBlock:^{//dosomethinglikecleanup}];CCSequence*action=[CCSequenceactions:move,call,nil];action.tag=kMovingActionTag;[no

ios - Cocos2d - 以正弦波运动将 Sprite 从 A 点移动到 B 点

执行此操作的最佳方法是什么?我看到了CCEaseSineInOut操作,但它看起来不像可以用来执行此操作。我需要从屏幕的一侧移动到另一侧。Sprite应在屏幕上以正弦波模式移动。 最佳答案 我总是喜欢完全控制CCNode运动。我只使用CCAction来做非常基本的事情。虽然您的案例听起来很简单,可以用CCAction来处理,但我将向您展示如何根据任何函数随时间移动CCNode。您还可以使用相同的技术更改比例、颜色、不透明度、旋转,甚至anchor。@interfaceSomeLayer:CCLayer{CCNode*nodeToMo

ios - 同时 CCActions Cocos2d

是否可以同时在一个Sprite上运行多个ccactions?例如,如果我有一个CCFadeIn、一个CCScaleTo和一个CCRotateBy,它们都具有相同的持续时间,我可以同时在一个Sprite上运行这三个吗?我发现唯一可以远程关闭任何东西的是CCSequence,而这不是我想要的。谢谢! 最佳答案 您不需要使用CCSpawn,只需在同一个Sprite上单独运行这些操作,它们将同时运行:idfadeIn=[CCFadeInactionWith…];[spriterunAction:fadeIn];idscale=[CCScal

ios - 同时 CCActions Cocos2d

是否可以同时在一个Sprite上运行多个ccactions?例如,如果我有一个CCFadeIn、一个CCScaleTo和一个CCRotateBy,它们都具有相同的持续时间,我可以同时在一个Sprite上运行这三个吗?我发现唯一可以远程关闭任何东西的是CCSequence,而这不是我想要的。谢谢! 最佳答案 您不需要使用CCSpawn,只需在同一个Sprite上单独运行这些操作,它们将同时运行:idfadeIn=[CCFadeInactionWith…];[spriterunAction:fadeIn];idscale=[CCScal