在游戲開發過程中遇到問題,請首先查閱:http://developer.egret.com/cn/github/egret-docs/Engine2D/minigame/minigameFAQ/index.html
1.忘記給可點擊的游戲對象添加點擊開關。
startBtn.touchEnabled=true;
2.button按鈕的點擊效果
(1)新建皮膚text
(2)點擊源碼,修改class為:“skins.皮膚文件名”
(3)將button拖至皮膚處
(4)點擊設計中button按鈕
(5)為button設置抬起,按下,禁用的圖片資源名
(6)json中添加詳細信息,前面一樣的,只需改變exml文件名。
(7)代碼中使用button。" "中的內容為(6)中添加的內容。
3刪除一個對象
執行刪除操作時,“顯示對象”必須擁有父級。換句話說,被刪除的顯示對象必須存在於容器對象當中。
避免這種問題的處理方法是:每次removeChild之前,對即將要被刪除的顯示對象做一次判斷,判斷它是否擁有父級。判斷的代碼如下:
if( spr.parent ) { spr.parent.removeChild( spr ); }
4.點擊一次按鈕響應多次點擊事件
這是博主最近在公司做成就系統模塊碰到的bug,改了一晚上,通過各種調試知道錯誤的原因,但是還是沒發現根源,詢問大佬后才恍然大悟,下面先介紹下bug
點擊成就按鈕進入成就系統,成就系統里面有兩個可以翻頁的按鈕,分別定義為lastBtn,nextBtn。第一次進入游戲一切正常。
第二次進入游戲點擊nexBtn會發現變成了第三個成就(默認成就系統每次打開是第一個成就),再點擊一次nextBtn,顯示第5個成就。
主要代碼如下:
問了各種大佬之后被告知,lastBtn,nextBtn每次添加監聽事件之前沒有移除之前的監聽事件。,於是改代碼如下:
總結:給按鈕添加了監聽事件一定要記得移除。
5.打開排行榜IOS閃爍
ios打開排行榜,數據刷新,導致屏幕閃爍,解決辦法:將開放數據域與主域中幀率調高至60(但是調高有一個影響是,耗電)。
6.好友排行榜無法關閉問題
(前提:世界排行寫在主域,好友排行再子域)在代碼中的邏輯:打開世界排行榜時首先關閉好友排行榜,再顯示世界排行榜;打開好友排行榜時首先關閉世界排行榜,再顯示好友排行榜。這樣的邏輯看上去時完全正確的,但是存在一個很大的隱患,如果你多次連續點擊好友列表,那么你回打開多個好友列表,當你再次打開世界排行時你回發先好友排行顯示再世界排行里面了。
主要代碼如下:
顯示效果:
那么我們如何處理這個問題呢,其實很簡單,我們只需要在打開某個排行榜時先判斷該排行榜是否已經顯示,修改后的代碼如下:
7.數組報空
有時候,游戲過程中我們可能會經常需要進行清空數組,賦值,清空,賦值。。。操作,你明明在聲明數組的時候已經初始化了,但是在清空之后賦值會報如下錯誤:
這個錯誤我不知道是怎么引起的,但是經過詢問各路大神,我最終解決了,解決辦法就是:避免在聲明是賦值