Ease actions 影响的是动作的时间线性。
举个例子,比如你想让一个精灵的运动由快到慢的变化;又或者一开始慢然后开始变快接着再慢下来,想像一下钟摆的运动。
用Ease actions就可以简单实现上面这种看似复杂的运动。
Ease actions
包含 CCEaseIn,CCEaseOut,CCEaseInOut三个类,示例:
id action = [CCMoveTo actionWithDuration:2 position:ccp(100,100)];
id ease = [CCEaseIn actionWithAction:action rate:2];
[sprite runAction: ease];
actionwithaction参数就是要用Ease来处理的动作, rate是加速率,不过这个加速率具体什么数值合适可能要慢慢试一试了。上例就是sprite在一开始加速向移动到(100,100)位置。
其他两个使用的格式一样,只是效果不同,可以每个试试看看效果。
EaseSine actions
包含CCEaseSineIn, CCEaseSineOut,CCEaseSineInOut 三个类,示例:
// Sine at the beginning
id move = [CCMoveBy actionWithDuration:3 position:ccp(350,0)];
id action = [CCEaseSineIn actionWithAction:move];
[sprite runAction:action];
这个与上面的 Ease actions部分不同的是加速率。
CCEaseSineOut,CCEaseSineInOut两个使用的方式和上面是一样的,只是时间变化有所不同。
其他的几种 ease actions 暂时还没用到,以后用到后会再补充。