精灵在执行曲线或者移动动作时,发现方向没有变化看着很奇怪,这里仿照cc.Repeat等动作封装了包装动作RotateAction, 这样就可以实时的改变精灵的朝向(尤其适合捕鱼类游戏😄)
cocos的动作类关键就是step和update方法,我们只需要在step里计算前后的位置就可以计算出需要调整的角度。下面是代码:
/**
* Created by xujiawei on 2020-03-13 12:08:52
* 包装动作,用来包装move,besizer等动作, 用来在执行动作过程中更新节点角度
*/
let RotateAction = cc.Class({
extends: cc.ActionInterval,
__ctor__ (action) {
this._elapsed = 0;
this._innerAction = null;
this._innerTarget = null;
action && this.initWithAction(action);
},
initWithAction (action) {
if (!action)