本文由麦可网
Cocos2d-x 里 Javascript 开发的一些要点
1
.CocosBuilder 和 Javascript 里的 MVC 模式
var scene = cc.BuilderReader.loadAsScene("CheckUpdateLayer");
var layer = cc.BuilderReader.load("CheckUpdateLayer");
这两行代码分别加载成
scene 和 layer.
一般来说
,我们会创建一个 CheckUpdateLayer.js,
”
要注意上图里的
JS Controller”里填
”
入的
CheckUpdaeLayer”,其实并不是一个 Layer,而是一个名副其实的 Controller,因为
CocosBuilder 奉行的就是 MVC 模式.
举个例子
,如果在 CheckUpdateLayer.js 里增加了一个方法,如下:
CheckUpdateLayer.prototype.foo = function() {
cc.log("this is afunction");
}
这个
foo 方法其实是属于 Controller 的方法,并不是属于 Layer 或 Scene 的方法.
2
.什么时候才是 CCB 加载完成?
CheckUpdateLayer.prototype.onDidLoadFromCCB = function() {
cc.log("CheckUpdateLayerinit");
var l =cc.LayerColor.create(cc.c3b(33,233,0), 200, 200);
this.rootNode.addChild(l);
}
打开
jsb_cocosbuilder.js,找到 cc.BuilderReader.load 方法,你要看到你心中的疑问的答
案
.
3
.generated/cocos2dxapi.js 全错了.
里面的类都是带
CC 前缀的,例如 cc.CCNode,cc.CCLayer,cc.CCSprite,但其实真实在 JS
里使用的时候是没有前缀的
,例如 cc.Node,cc.Layer,cc.Sprite,etc…
4.cocos2d-x 常用的几种单位在 C++和 JS 里的对应(jsb_coco2d.js)
C++
Javascri
pt
CCLOG
cc.log
ccc3
cc.c3b
ccc4
cc.c4b
ccc4f
cc.c4f
ccp
cc.p
CCSize(w,h)
cc.size
CCRect(x,y,w
,h)
cc.rect
5.类型