加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2d-x里Javascript开发的一些要点

发布时间:2020-12-14 19:36:09 所属栏目:百科 来源:网络整理
导读:1.CocosBuilder和Javascript里的MVC模式 var scene = cc.BuilderReader.loadAsScene("CheckUpdateLayer"); var layer = cc.BuilderReader.load("CheckUpdateLayer"); 这两行代码分别加载成scene和layer. 一般来说,我们会创建一个CheckUpdateLayer.js,要注意
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 ="CheckUpdateLayerinit");

varl =cc.LayerColor.create(cc.c3b(33,233,207)">0),207)">200,207)">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++

Javascript

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.类型

Javascript是弱类型语言,在这里没有CCArray,CCDictionary,因为任意一个Javascript的对象都具有数组和字典的基本特性.

6.动态

在编写C++的时候,很羡慕Objective-c动态特性,例如NSLog(@“%@”,obj)这样可以输出对象的描述信息.但在Javascript里一切都是浮云,cc.dump可以满足你的需求.

7.多看cocos2d-2.1beta3-x-2.1.1/samples/Javascript里的几个demo,会解决你90%的疑问.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读