Cocos Creator 的 动作(Action)系统
动作是什么
在 Cocos Creator 中,动作 简单来说就是 节点的位移、缩放和旋转。
动作方法
setJumpAction: function () {
// 跳跃上升
var jumpUp = cc.moveBy(this.jumpDuration, cc.v2(0, this.jumpHeight)).easing(cc.easeCubicActionOut());
// 下落
var jumpDown = cc.moveBy(this.jumpDuration, cc.v2(0, -this.jumpHeight)).easing(cc.easeCubicActionIn());
// 不断重复
return cc.repeatForever(cc.sequence(jumpUp, jumpDown));
}
cc.moveBy(time,v2)
cc.moveBy(time,x,y)
方法的作用是在规定的时间内移动指定的一段距离
传入的 X、Y 坐标都是相对于节点当前的坐标位置
cc.v2(x,y)
是一个 Vec2(表示 2D 向量和坐标)类型的对象
easing(obj) 是
ActionInterval
类下的一个方法,这个方法可以让时间间隔动作呈现为一种缓动运动,传入的参数是一个缓动对象,返回一个 ActionInterval 类型对象,这里传入的是使用 easeCubicActionInOut() 方法构建的缓动对象,easeCubicInOut 是按三次函数缓动进入并退出的动作
onLoad 方法会在场景加载后立刻执行
onLoad: function () {
// 初始化跳跃动作
this.jumpAction = this.setJumpAction();
this.node.runAction(this.jumpAction);
},