CVP认证学习笔记--李天宇004实现自定义场景

本节课我学习了如何创建一个场景。本节课算真正意义上理解了src文件夹的真面目~。让我们一起来新建一个场景吧!

首先要搞清楚进入场景的入口在哪里?在main.js这个文件中。有一个函数名为cc.game.onStart。这个function中:

cc.view.setDesignResolutionSize(800,450,cc.ResolutionPolicy.SHOW_ALL);

上述代码是进行屏幕尺寸的设定SHOW_ALL是表示适配全屏幕。

最为关键的一句话是cc.director.runScene(new myscene(这里是你场景的名字));当然此时我们还没有定义场景,这里只是一个入口。通过访问

http://api.cocos.com/cn/d7/df3/classcocos2d_1_1_director.html了解到场景类它是主要负责创建和处理主窗口,以及管理场景的执行。它还有很多其他的方法如:setDisplayStats(设置帧率的显示)等。

下面我们新建一个myscene.js文件。下面是核心代码

var mylayer = cc.Layer.extend({

ctor:function(){

this._super();

var size = cc.winSize;

var label1 = new cc.LabelTTF("这里是游戏场景","黑体",50);

var label2 = new cc.LabelTTF("我的名字是寒风",50);

var bg = new cc.Sprite(res.HelloWorld_png);

label1.setPosition(size.width / 2,50);

label2.setPosition(size.width / 2,400);

bg.setPosition(size.width / 2,size.height / 2);

this.addChild(bg,0);

this.addChild(label1,1);

this.addChild(label2,1);

}

});

var myscene = cc.Scene.extend({

ctor:function(){

this._super();

var layer1 = new mylayer();

this.addChild(layer1);

}

});

这两个函数里边都有this._super()函数。他是在调用父类的构造函数

var layer1 = new mylayer();

this.addChild(layer1);

这里是将mylayer进行了实例化操作得到一个对象,相信大家学习过面向对象的对这一行代码理解起来并不困难。然后将layer添加到他的父节点也就是当前场景中。如此一个场景构建完毕。

其他的不过多阐述,这里只提跟场景有关的学习心得。

最后附上本节课的作业链接

http://www.cocoscvp.com/usercode/2016_04_10/eea5fc2c0ea2d7b741f2bab83554084af404af7b/

相关文章

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