Cocos2d-x裡Javascript開發的一些要點

來源:互聯網
上載者:User
文章目錄
  • 2.什麼時候才是CCB載入完成?
  • 4.cocos2d-x常用的幾種單位在C++和JS裡的對應(jsb_coco2d.js)
  • 5.類型
  • 6.動態
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++

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%的疑問.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.