我正在cocos2d-x上实施游戏。
现在我实施了“重播我的游戏”功能(游戏从头开始)
但我希望以1x,2x,3x,4x的速度重播我的游戏。将速度更改为2x时,所有操作(移动和旋转等)都应该适用于新更改的变量。
如何通过改变CCAction的一般速度来做到这一点?
我想要一个通用的解决方案。我知道变量或调度程序的解决方案, 但我想要一个通用的解决方案。
答案 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。您可以保存一些参数以使该功能更具适应性。