我正在使用Phaser跟踪Fruit Ninja教程。对于主菜单,作者已使用
if (this.game_state.game.input.keyboard.isDown(Phaser.Keyboard.SPACEBAR)) {
this.menu_items[this.current_item_index].select();
如何使用触摸事件实现相同的逻辑,以便在平板电脑/手机上使用它?扫描逻辑的其余部分是使用触摸,菜单除外。我想知道如何改变它。
答案 0 :(得分:0)
这让我看起来不仅仅是一个简单的“改变它”。您发布的代码片段让我看起来菜单保留了某种当前索引,其中突出显示了哪个菜单项(可能使用箭头键?)。
例如,如果菜单由精灵组成,则可以为每个精灵附加触摸事件。假设您在菜单中有一个名为exitGameMenuItem
的精灵。您需要启用其输入并附加onInputDown
事件回调(它将同时适用于鼠标和触摸)。
exitGameMenuItem.inputEnabled = true;
exitGameMenuItem.events.onInputDown.add(function() {
// call the exit game function here
}, this);
或者,您可以直接添加回调(不将其包装在函数中),如下所示:
exitGameMenuItem.events.onInputDown.add(this.exitGame, this);
(这假设您的exitGame()
函数处于相同状态。)