Cocos2d-js : 精灵动作实现 示例

解析

cc.sequence    --> 动作序列,有序地一个一个执行动作
repeatForever  --> 重复执行动作
cc.spawn       --> 同时执行动作

//不断做旋转和放缩

var man = new cc.Sprite("res/grossini.png"); // 创建精灵
man.runAction(cc.spawn(cc.rotateBy(1, 360, 360), cc.sequence(cc.scaleTo(1, 2), cc.scaleTo(1, 1))).repeatForever());

this.addChild(man, 2); //添加进当前场景

// 放大缩小 一次

man.runAction( cc.sequence(cc.scaleTo(1, 2), cc.scaleTo(1, 1)) ); 

// 旋转动作

man.runAction(cc.spawn(cc.rotateBy(1, 360, 360); 
// cc.spawn--> 同时执行多个动作 
// 缩放动作 arg0:时间 arg1:缩放倍数 =1正常大小,>1放大,<1缩小
man.runAction(cc.sequence(cc.scaleTo(1, 2), cc.scaleTo(1, 1)) ); 
// cc.sequence-->按顺序 执行 多个动作
man.runAction(cc.sequence(cc.scaleTo(1, 2), cc.scaleTo(1, 1)) );

//闪烁 效果

    var blink = new cc.Blink(10, 100);
    man.runAction(blink);
    setTimeout(function(){
        blink.stop();//2秒后停止闪烁
    }, 2000);

// 渐变 效果

var action = cc.FadeTo.create(1, 150);//1秒对象 由不透明0变为透明度150

// 多个动作 按顺序执行

var action = cc.sequence(
            cc.moveBy(1.5, cc.p(240, 0)), // 1s 时间 x 右移 240y 不变
            cc.rotateBy(1.5, 360,360),
            cc.moveBy(1.5, cc.p(-240, 0)),
        );
    man.runAction(action);

// 淡入 效果

var action = cc.fadeIn(1.0);
var delay = cc.delayTime(0.25);
var actionBack = action.reverse();
man.runAction(cc.sequence(action, delay, actionBack));

// 淡出 效果

var action = cc.fadeOut(1.0);
var delay = cc.delayTime(0.25);
var actionBack = action.reverse();
man.runAction(cc.sequence(action, delay.clone(), actionBack));

// 时间延迟 (休眠)

var delay = cc.delayTime(0.25);

参考文献:
http://www.cnblogs.com/wanqieddy/archive/2013/09/13/3318627.html
http://www.cnblogs.com/ajun/p/4278982.html

你可能感兴趣的:(Cocos2d-js)