当鼠标悬停在它上面时,我正试图让一个精灵移动,我希望它在鼠标悬停在它上面时停止。
这是我的代码:
mySprite.events.onInputOver.add(() => touchMouse = true);
mySprite.events.onInputOut.add(() => touchMouse = false);
和
update() {
if (touchMouse) {
mySprite.x += 5;
}
}
我的精灵正在移动,但如果我没有将指针移出初始精灵位置,则不会调度onInputOut信号!这导致我的精灵移出我的指针并继续其旅程,直到我移动我的鼠标......
它是一个移植器错误吗?有没有人可以解决这个问题?
非常感谢你,祝你有个美好的一天,
西蒙
修改
我只是尝试使用Phaser.InputHandler对象,但我遇到了同样的错误。这是代码:
update() {
if (mySprite.input.pointerOver()) {
mySprite.x += 5;
}
}
答案 0 :(得分:0)
有人在html5gamedevs论坛回答了我的问题。
当指针不移动时,Phaser通常不会更新inputOver / inputOut事件。你需要设置pointer.dirty = true。