如何减慢cocos2dx游戏的所有动作

时间:2016-10-18 08:54:43

标签: cocos2d-x ccaction

我正在上实施游戏。

现在我实施了“重播我的游戏”功能(游戏从头开始)

但我希望以1x,2x,3x,4x的速度重播我的游戏。将速度更改为2x时,所有操作(移动和旋转等)都应该适用于新更改的变量。

如何通过改变CCAction的一般速度来做到这一点?

我想要一个通用的解决方案。我知道变量或调度程序的解决方案, 但我想要一个通用的解决方案。

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码来减慢或加快所有调度程序和操作: -

float val = 2.0; // to fast
val = 0.5; // to slow

Director->getInstance()->setTimeScale(val);

默认值为1.0;

答案 1 :(得分:1)

自己编写类似CCEaseIn的课程。

重写更新(浮动时间)。

m_pInner->update(powf(time, m_fRate)); // this is what update() like in CCEaseIn

代码可能会改变如下:

m_pInner->update(func(time)); 

func(浮动时间)是改变时间的函数。比如time / 2表示0.5x,time * 2表示2x。您可以保存一些参数以使该功能更具适应性。