上一節我們已經看到可愛的小野豬進度跑起來了,這一節我們需要把遊戲場景初始化和進入場景兩個部分搞定,開始吧!
初始化場景
1、創建場景管理器
場景裏相關的東東都由他來負責管理。
2、創建遊戲場景接口定義:
實現接口:
接口定義:實現接口:3、SceneManager.onInit方法實現
4、用戶界面初始化:public function onInit():void { // 添加背景 FBg = JFDynamicResManager.getInstance().displayObjectByName(1, "res0701"); FBg.x = 0; FBg.y = 0; JFApp.appMainSprite.sceneLayer.addChild(FBg); // 遊戲區域 FGameScene = new GameScene(); JFApp.appMainSprite.sceneLayer.addChild(FGameScene as DisplayObject); // 鼠標控制層 FMouseCtrlLevel = new UISprite(); FMouseCtrlLevel.graphics.beginFill(0,0); FMouseCtrlLevel.graphics.drawRect(0, 0, JFAppConfig.sceneWidth, JFAppConfig.sceneHeight); FMouseCtrlLevel.graphics.endFill(); FMouseCtrlLevel.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveEvent); FMouseCtrlLevel.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownEvent); FMouseCtrlLevel.addEventListener(MouseEvent.MOUSE_OVER, mouseOverEvent); FMouseCtrlLevel.addEventListener(MouseEvent.MOUSE_OUT, mouseOutEvent); FMouseCtrlLevel.addEventListener(MouseEvent.MOUSE_UP, mouseUpEvent); JFApp.appMainSprite.sceneLayer.addChild(FMouseCtrlLevel);}
用戶界面相關的東東都有他來管理。接口定義:實現接口:這裏就先定義一個殼子,以後再慢慢補充裏面的內容,內容很多…
進入場景
看到上面的流程我們知道現在要和服務端配合了,搭建服務端不是一件容易的事(下一章將要講述整個服務端的搭建方法),在這裏先做一個離線模式,確保把今天這一節的例子先跑通了。
起初開始開發村神的時候由於服務端人員沒有時間,所以我就用這個離線模式把村神單機版本做完了後纔開始做聯網模式的。本教程是教大家開發社交遊戲,單機模式就不深入講解了。
現在構建離線服務,如下圖:
離線模式初始化,如下圖:
技巧 – 宏定義:
在c或c++語言中我們經常看到下面的語
#ifdef
….
#endif
在ActionScript中我們也可以做到,看到if(DEF::OFFLINE)了吧?就是和c語言中的#ifdef概念一樣,我們需要在編譯選項中加入一個DEF::OFFLINE就可以了,如下圖:我們看到還有下面兩個:
-define DEF::DEBUG true
這個是DEBUG模式,可以利用這個做一些調試信息的輸出,正式上線的時候我們只要把編譯選項改成 -define DEF::DEBUG false,瞬間世界就都安靜啦…
-define DEF::TRACE_SRC true
這個選項也是爲了調試方便,在輸出調試信息的時候把調用堆棧也輸出,這樣找Bug還是比較方便的。
注意:要把sdk工程的編譯選項中的DEF::OFFLINE設置成true,如下圖:
離線模式搞定後,我繼續完成進入場景的代碼實現,首先需要監聽服務端處理ServerCmd.SYS_ENTER_CMD消息完成事件,如下圖:
線服務處理SYS_ENTER_CMD消息,如下圖:
好了一切繼續就緒了,開始往服務端發出ServerCmd.SYS_ENTER_CMD命令,如下圖:
接下來去看看主程序進入場景部分的代碼,需要在進入場景成功後把Logo窗口關掉就可以了,如下圖:
好了,截個效果圖今天就先到這裏了,休息一會…
代碼下載:點這裏下載
從零開始學社交遊戲開發(五)