Cocos Creator 中使用动作系统(摘自官方文档)
在 Cocos Creator 中使用动作系统动作系统简介Cocos Creator 提供的动作系统源自 Cocos2d-x,API 和使用方法均一脉相承。动作系统可以在一定时间内对节点完成位移,缩放,旋转等各种动作。 需要注意的是,动作系统并不能取代动画系统,动作系统提供的是面向程序员的 API 接口,而动画系统则是提供在编辑器中来设计的。同时,他们服务于不同的使用场景,动作系统比较适合来制作简单的形变和位移动画,而动画系统则强大许多,美术可以用编辑器制作支持各种属性,包含运动轨迹和缓动的复杂动画。 动作系统 API 动作系统的使用方式也很简单,在 // 创建一个移动动作
var action = cc.moveTo(2,100,128)">100);
// 执行动作
node.runAction(action);
// 停止一个动作
node.stopAction(action);
// 停止所有动作
node.stopAllActions();
开发者还可以给动作设置 tag,并通过 tag 来控制动作。 // 给 action 设置 tag
var ACTION_TAG = 1;
action.setTag(ACTION_TAG);
// 通过 tag 获取 action
node.getActionByTag(ACTION_TAG);
// 通过 tag 停止一个动作
node.stopActionByTag(ACTION_TAG);
动作类型在 Cocos Creator 中支持非常丰富的各种动作,这些动作主要分为几大类: (由于动作类型过多,在这里不展开描述每个动作的用法,开发者可以参考动作系统 API 列表来查看所有动作) 基础动作 基础动作就是实现各种形变,位移动画的动作,比如 基础动作中分为时间间隔动作和即时动作,前者是在一定时间间隔内完成的渐变动作,前面提到的都是时间间隔动作,它们全部继承自 容器动作容器动作可以以不同的方式将动作组织起来,下面是几种容器动作的用途:
从上面的示例中可以看出,不同容器类型是可以复合的,除此之外,我们给容器类型动作提供了更为方便的链式 API,动作对象支持以下三个 API: // 一个复杂的跳跃动画
this.jumpAction = cc.sequence(
cc.spawn(
cc.scaleTo(0.1,128)">1.2),cc.moveTo(10)
),cc.spawn(
cc.scaleTo(0.2,128)">1,128)">1),128)">0)
),cc.delayTime(0.5),128)">1.2,128)">0.8),128)">-10)
),128)">0)
)
// 以1/2的速度慢放动画,并重复5次
).speed(2).repeat(5);
动作回调动作回调可以用以下的方式声明: var finished = cc.callFunc(this.myMethod,this,opt);
var finished = cc.callFunc(function () {
//doSomething
},sans-serif; font-size:16px; line-height:25.6px"> 第二个参数指定了处理回调方法的 context(也就是绑定 this),第三个参数是向处理回调方法的传参。您可以这样使用传参:
|