寒風的Cocos之旅之js篇---传递参数的妙用

前端之家收集整理的这篇文章主要介绍了寒風的Cocos之旅之js篇---传递参数的妙用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

开发消消乐这种游戏的时候,需要实时更新游戏当中的当前关卡值、所用步数、分数。用scheduleUpdate()就可以解决。我们将分数、关卡、步数封装在GameUI一个类中,在GameLayer中new一个GameUI的对象,这是钟比较常规的思路。那么怎样才能保证实时更新这些标签呢?这时候就需要我们在new的时候传递参数,当然在GameUI的ctor中也需要传递一个参数,用来保存它里边的这些标签代码如下:

GameUI中的核心代码:

var GameUI = cc.Layer.extend({
    levelText:0,scoreText:0,stepText:0,gameLayer:null,ctor: function (gameLayer) {
        this._super();
        this.gameLayer=gameLayer;
        this._initInfoPanel();
        this.scheduleUpdate();
    },update: function () {
        this.levelText.setString(""+(this.gameLayer.level+1));
        this.scoreText.setString(""+this.gameLayer.score);
        this.stepText.setString(""+(this.gameLayer.limitStep - this.gameLayer.steps));
    }

GameLayer核心代码

        //在新建GameUI的时候把自己传递进来,重点是this。
        this.ui = new GameUI(this);
        this.addChild(this.ui,3);

这样就可以实现实时更新标签。其实这种方式不光可以传递像标签这样的,也可以是Sprite等参数。效果图:

猜你在找的Cocos2d-x相关文章