[JSB篇]Android端使用返回鍵(在CocosBuilder的使用狀況下)

文章撰寫日期︰2013/11/14 14:27
cocos2dx使用版本︰v 2.1.4

一、前言

Android的返回鍵使用,
在Cocos2d-x-JSB的環境下,
很多人都摸不著頭緒不知道如何使用。
這裡提供我所使用而且也成功控制到back key的方式。

二、文章開始

這篇假設你的每個JS檔是和CocosBuilder綁定使用的
因此你的Code裡應該有支援onDidLoadFromCCB()這個CocosBuilder給你的callback函式。
var MyScene = function(){

 this.onDidLoadFromCCB = function()
 {
  cc.log("into MyScene onDidLoadFromCCB");

        //添加Android返回鍵控制
        if( sys.os == "android" || sys.os == "Android") {

            //務必啟動KeypadEnabled
            this.rootNode.setKeypadEnabled(true);

            this.rootNode.backClicked = function(){
                cc.log("into MyScene backClicked");

                //做任何Android back key觸發後,你想做的事情。

            };
        }
        };
};
如上面Code所寫,
在綁定CocosBuilder檔後,
回傳的callback: onDidLoadFromCCB()裡,
我們去啟動KeypadEnabled,
並同時將backClicked()函式實作完成。

由於這個MyScene.js檔的this在綁定CocosBuilder(ccb)檔後,
this指的是ccbi畫面層(畫面第2層),
原來的CCLayer層(畫面頂層)就要用this.rootNode來取得。

Cocos2d-x的基本生命週期函式像
onEnter()、onExit()、onUpdate()...
也都要用this.rootNode的方式,
才能使用並取得到他們。

沒有留言 :

張貼留言