寒風的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等参数。效果图:

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...