0
我正在嘗試構建一個簡單的遊戲菜單,其中包含一些可點擊的精靈,這些精靈將用作按鈕來瀏覽菜單。無法使精靈互動工作
(我使用的是最新的pixi.js(v4.3.5))我的應用程序的
結構:
- loader.module(利用了pixi.loaders的.Loader)
- events.module(基本事件子/酒館模塊)
- base.view
- menu.view(延伸base.vi EW)
- game.main
它是如何工作呢?
在初始化視圖之前,必須明確定義所有資源和UI元素。
所以在menu.view中,必須定義下面的屬性。
this.resources = [
{ name: 'start', src: 'img/start.png'},
{ name: 'start2', src: 'img/start2.png'}
];
this.ui = [{
name: 'start', /// resource name
type: 'img',
pos: { x: 0, y: 0 }
}];
現在我只需要調用view.init()
把一切加載和繪製。在視覺方面,evrything可以很好地工作,但是'開始'精靈(它有interactive
和buttonMode
設置爲true
)不會對任何鼠標事件做出反應。
下面的方法負責獲取所需的資源並返回一個新的精靈。它還使實際交互功能成爲此過程的一部分。但由於某種原因,測試功能從未被觸發。
__getSpriteObject(element){
let sprite = new PIXI.Sprite(this.loader.loader.resources[ element.name ].texture);
sprite.x = element.pos.x;
sprite.y = element.pos.y;
sprite.interactive = true;
sprite.buttonMode = true;
console.log(sprite)
sprite.on('pointerdown', function(){
console.log("what")
})
return sprite;
}
如果上面的信息是不夠的,這裏也是一個工作example。