本节课我学习了如何创建一个场景。本节课算真正意义上理解了src@H_404_3@文件夹的真面目~@H_404_3@。让我们一起来新建一个场景吧!
首先要搞清楚进入场景的入口在哪里?在main.js@H_404_3@这个文件中。有一个函数名为cc.game.onStart@H_404_3@。这个function@H_404_3@中:
cc.view.setDesignResolutionSize(800,450,cc.ResolutionPolicy.SHOW_ALL);
上述代码是进行屏幕尺寸的设定SHOW_ALL@H_404_3@是表示适配全屏幕。
最为关键的一句话是cc.director.runScene(new myscene(@H_404_3@这里是你场景的名字));@H_404_3@当然此时我们还没有定义场景,这里只是一个入口。通过访问
http://api.cocos.com/cn/d7/df3/classcocos2d_1_1_director.html了解到场景类它是主要负责创建和处理主窗口,以及管理场景的执行。它还有很多其他的方法如:setDisplayStats(@H_404_3@设置帧率的显示)@H_404_3@等。
下面我们新建一个myscene.js@H_404_3@空文件。下面是核心代码:
var mylayer = cc.Layer.extend({
ctor:function(){
this._super();
var size = cc.winSize;
var label1 = new cc.LabelTTF("@H_404_3@这里是游戏场景","@H_404_3@黑体",50);
var label2 = new cc.LabelTTF("@H_404_3@我的名字是寒风",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()@H_404_3@函数。他是在调用父类的构造函数。
var layer1 = new mylayer();
this.addChild(layer1);
这里是将mylayer@H_404_3@进行了实例化操作得到一个对象,相信大家学习过面向对象的对这一行代码理解起来并不困难。然后将layer@H_404_3@添加到他的父节点也就是当前场景中。如此一个场景构建完毕。
其他的不过多阐述,这里只提跟场景有关的学习心得。
最后附上本节课的作业链接:
http://www.cocoscvp.com/usercode/2016_04_10/eea5fc2c0ea2d7b741f2bab83554084af404af7b/