天天看點

Cocos2d-html5之TintTo&TintBy

Cocos2d-html5測試用版本:2.2.1。

TintTo:将 cc.Node 對象的色調變化到某一值。

TintBy:将 cc.Node 對象的色調變化某值。

使用cc.TintTo.create(duration, deltaRed, deltaGreen, deltaBlue)和cc.TintBy.create(duration, deltaRed, deltaGreen, deltaBlue)來建立動作。

duration
運動周期,機關為s。
deltaRed
紅色
deltaGreen
綠色
deltaBlue
藍色

請看下列代碼:

var GameScene = cc.Scene.extend({
    enemy1: null,       // 敵人1
    enemy2: null,       // 敵人2
    enemy3:null,        // 敵人3
    layer: null,        // 布景
    winSize: null,      // 遊戲運作視窗尺寸
    onEnter: function () {
        this._super();
        this.initData();
    },
    initData: function () {
        
        // 擷取尺寸
        this.winSize = cc.Director.getInstance().getWinSize();
        // 添加布景
        this.layer = cc.LayerColor.create(cc.c4(200, 200, 200, 255), this.winSize.width, this.winSize.height);
        this.addChild(this.layer);
        // 建立動作
        var actionTo = cc.TintTo.create(2, 200, 0, 0);
        var actionBy = cc.TintBy.create(2, 0, 100, 0);
        var actionByBack = actionBy.reverse();
        // 添加敵人1
        this.enemy1 = cc.Sprite.create(s_enemy_1);
        this.enemy1.setPosition(cc.p(300, 300));
        this.layer.addChild(this.enemy1);
        this.enemy1.runAction(actionTo);
        // 添加敵人2
        this.enemy2 = cc.Sprite.create(s_enemy_2);
        this.enemy2.setPosition(cc.p(100, 100));
        this.layer.addChild(this.enemy2);
        this.enemy2.runAction(cc.Sequence.create(actionBy, actionByBack));
        // 添加敵人3
        this.enemy3 = cc.Sprite.create(s_enemy_3);
        this.enemy3.setPosition(cc.p(200, 200));
        this.layer.addChild(this.enemy3);
        this.enemy3.runAction(cc.TintBy.create(2, 0, -200, -200));
    }
});
           

以下是運作結果截圖:

Cocos2d-html5之TintTo&TintBy

繼續閱讀