- 精通Cocos2d-x游戲開發(進階卷)
- 王永寶
- 802字
- 2020-11-28 22:37:04
7.2 使用KxDebuger調試Cocos2d-x
雖然使用Console可以簡單地調試Cocos2d-x的內容,但效率較低,而且步驟比較煩瑣。如果能像Unity那樣提供運行時的可視化調試方案,那么可以大大提高調試效率。
Cocos2d-x官方新出的Creator也類似Unity,可以對游戲內容進行調試,但并不支持調試C++開發的Cocos2d-x程序,僅支持JavaScript和Lua。因此筆者設計了一套簡易的可視化調試工具KxDebuger用于調試Cocos2d-x, KxDebuger不僅可以調試PC上的程序,還可以遠程調試移動設備上的程序,由于時間原因,目前的KxDebuger還不夠完善,但以后筆者會花一些時間來進行維護,使其成為一個順手的調試利器。
1.使用KxDebuger
kxDebuger分為兩部分,第一部分是嵌入Cocos2d-x程序的庫,第二部分是GUI界面工具。KxDebuger庫依賴于ProtocolBuffer和kxServer,前者是Google開發的一個協議庫,后者是筆者開發的一個簡易的網絡庫,可以直接將這兩個庫的代碼包含到項目中,具體可以參考KxDebuger示例項目,讀者可以在下載地址中找到它。添加好KxDebuger庫之后只需要執行一行初始化代碼即可使用KxDebuger庫的客戶端。
kxdebuger::KxDebuger::getInstance()->init();
在代碼中初始化KxDebuger庫之后,編譯程序并啟動Cocos2d-x程序,接下來就可以啟動KxDebuger的GUI界面工具了,如圖7-4所示。首先需要選擇IP和端口,默認的端口是6666,可以在KxDebuger::init中設置指定的端口,如果是本機調試,可以選擇127.0.0.1,如果需要在其他計算機或移動設備上調試,需要修改對應設備的IP地址。

圖7-4 KxDebuger啟動界面
連接成功之后,GUI解密工具會切換到調試界面,如圖7-5所示,我們可以看到左側的場景樹和右側的節點屬性面板,在屬性面板中可以查看和修改節點的各種屬性。

圖7-5 KxDebuger調試界面
2.KxDebuger功能簡介
? 調試節點樹:通過右側的樹控件可以實時觀察場景樹,并執行刷新和刪除、查看節點等操作。
? 調試節點:當選中節點之后,可以在右側的屬性面板中查看并修改節點的各種屬性,也可以激活高亮該節點。
? 單步調試:通過“調試”菜單下的快捷鍵可以暫停、恢復游戲,也可以逐幀調試游戲,這在捕獲一些瞬間出現的動畫問題時非常有用。
? 自定義調試:是KxDebuger的高級功能,通過修改GUI界面工具,以及在KxDebuger中注冊新的服務,可以調試自定義的內容,如對游戲的AI和特定的邏輯進行調試。