Javascript 无法使精灵交互正常工作
我正在尝试构建一个简单的游戏菜单,其中包含一些可点击的精灵,这些精灵将被用作在菜单中导航的按钮 (我正在使用最新的pixi.js(v4.3.5)) 我的应用程序结构:Javascript 无法使精灵交互正常工作,javascript,html,interaction,pixi.js,Javascript,Html,Interaction,Pixi.js,我正在尝试构建一个简单的游戏菜单,其中包含一些可点击的精灵,这些精灵将被用作在菜单中导航的按钮 (我正在使用最新的pixi.js(v4.3.5)) 我的应用程序结构: loader.module(使用pixi.loaders.loader) events.module(基本事件订阅/发布模块) base.view menu.view(扩展base.view) 游戏主机 这一切现在是如何运作的? 在初始化视图之前,必须显式定义所有资源和ui元素 因此,在menu.view中,必须定义以下属性
- loader.module(使用pixi.loaders.loader)
- events.module(基本事件订阅/发布模块)
- base.view
- menu.view(扩展base.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工作得很好,但是“开始”精灵(它的交互式和按钮模式设置为true
)不会对任何鼠标事件做出反应
下面的方法负责获取所需的资源并返回一个新的sprite。它还支持作为此过程一部分的实际交互功能。但由于某种原因,测试功能从未触发
__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;
}
如果上面的信息还不够,这里还有一份工作。我在这里回答了这个问题:在任何情况下,其他人都很好奇