我正在尝试构建一个简单的游戏菜单,其中包含一些可点击的精灵,这些精灵将用作按钮来浏览菜单。
(我正在使用最新的pixi.js(v4.3.5))
我的应用结构:
现在一切如何运作?
在初始化视图之前,必须显式定义所有资源和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工作得很好,但是'start'精灵(它的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。
答案 0 :(得分:0)