1. 程式人生 > >關於PIXI引擎製作頁面小遊戲的幾個總結

關於PIXI引擎製作頁面小遊戲的幾個總結

1、有互動的頁面元素一定要設interactive屬性為true,否則監聽的事件都將無反應。

2、空的container無法捕捉到mousedown,mouseup事件。

3、使用物件的event.data.global可以轉換當前位置為全域性位置。

4、movieclip.textures = arr,arr為儲存texture的陣列。

5、為container加displaygroup屬性可以為元素分層,需要引進pixi_display.js檔案,有些手機不相容,還可以利用錨點相同的多個container以新增順序,後來者在上的方法來實現分層。因為遊戲的載入順序是分層載入,底層的載入完後再載入上層的。

6、pixi元素的移動有兩種實現方法:
a:在主迴圈方法中持續改變位置:
box.x += speedx;
box.y += speedy;
b:PIXI.ticker.shared.add(fun,this);在fun中完成移動,使用此方法結構較清晰。

7、非同步載入檔案不應設定多個入口,應統一載入,在載入完的回撥中進行下一步操作。

8、如果背景圖與遊戲元素位置無關,則可以將此sprite加到stage或是任意填充頁面的container都可,如果相關,則需考慮相對位置和錨點。

9、判斷精靈、動畫是否已有texture:
sprite.texture.valid
movieclip.textures[0].valid

10、為避免重名,繼承引擎中的類應該避免start、stop、update等函式名,避免覆蓋。

11、PIXI 中對註冊事件的相應規律:後註冊的先響應。

12、PIXI中元素的.width .height是一個方法計算後返回的值,根據當前父元素的scale以及強制給的寬高得出的值,元素可能被拉伸或者壓縮,可用元素._texture.height獲得圖片寬高。
container 無大小。當congtainer有子元素時,子元素所佔大小即為其大小。為container設定大小時系統會為其設定scale來達到所要求的大小,之後往該container上加的子元素都會受到這個scale的約束,即使為子元素寫寬高,也不能正確顯示。