问题
I am trying to create a button with Phaser 2 CE on a mobile device but it doesn't fires, even if it works fine on desktop, the entiere code will be on my github repository but for the moment i can just display an image like in the code bellow
var game = new Phaser.Game(640, 480, Phaser.AUTO, 'game', { preload: preload, create: create, update: update });
function preload () {
game.load.image('logo', 'assets/phaser2.png');
game.load.image("upArrow", "assets/up.png");
}
function create () {
// Initialize player
//player = game.add.sprite(20, 20, 'logo');
game.device.desktop || addMobileInputs();
}
function addMobileInputs() {
upButton = game.add.sprite(40, 40, "upArrow");
upButton.inputEnabled = !0;
upButton.events.onInputDown.add(myHandler, this);
}
function myHandler() {
alert("up");
}
function update() {
}
回答1:
It seems that alert("...")
doesn't fire, and the code is correct because if you just make your sprite move, it moves, for example like the code below:
var game = new Phaser.Game(640, 480, Phaser.AUTO, 'game', { preload: preload, create: create, update: update });
var sprite;
function preload () {
// This is equivalent to <https://examples.phaser.io/assets/>.
this.load.image('dude', 'assets/sprites/phaser-dude.png');
}
function create() {
sprite = game.add.sprite(game.world.centerX, game.world.centerY, 'dude');
sprite.inputEnabled = true;
sprite.events.onInputDown.add(myHandler, this);
}
function myHandler() {
sprite.x += 10;
}
function update() {
}
来源:https://stackoverflow.com/questions/50299093/how-to-create-a-phaser-button-in-facebook-instant-games-for-a-mobile-device