Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova 离子应用中的移相器游戏_Cordova_Ionic Framework_Phaser Framework - Fatal编程技术网

Cordova 离子应用中的移相器游戏

Cordova 离子应用中的移相器游戏,cordova,ionic-framework,phaser-framework,Cordova,Ionic Framework,Phaser Framework,我有一个phaser游戏,我想在ionic应用程序中实现它。我的想法是从外部链接运行phaser游戏,并在ionic应用程序内创建一个按钮,链接到游戏,并从InApp浏览器或Cordova web视图启动,如前所述 我在移动浏览器(chrome)中运行phaser游戏没有问题,但当它通过InApp浏览器或Cordova网络视图从应用程序启动时,游戏就很小了 而且,我不能点击按钮 你知道问题出在哪里吗?在phaser游戏或应用程序中 它在浏览器中运行良好 游戏链接: 播放按钮: var jogar

我有一个phaser游戏,我想在ionic应用程序中实现它。我的想法是从外部链接运行phaser游戏,并在ionic应用程序内创建一个按钮,链接到游戏,并从InApp浏览器或Cordova web视图启动,如前所述

我在移动浏览器(chrome)中运行phaser游戏没有问题,但当它通过InApp浏览器或Cordova网络视图从应用程序启动时,游戏就很小了

而且,我不能点击按钮

你知道问题出在哪里吗?在phaser游戏或应用程序中

它在浏览器中运行良好

游戏链接:

播放按钮:

var jogar = this.game.add.button(this.game.width / 2, this.game.height - this.game.height/4, "jogar");
        jogar.anchor.set(0.5);
        menuGroup.add(jogar);
        jogar.state = "levelSelect";
        jogar.events.onInputDown.add(this.onSpriteDown, this);
        jogar.events.onInputOver.add(this.onSpriteOver, this);
编辑

当我第一次在浏览器中加载游戏时,它在menu.js中给了我一个错误:

onSpriteOver : function (sprite, pointer) {
    JOGO.somButton.play(); //Error on this line!!!!!
    var xpos = sprite.x;
    if(!animate)
    var tween = this.game.add.tween(sprite)
            .to({ x: xpos + 6 }, 100, Phaser.Easing.Linear.None)
            .to({ x: xpos - 5 }, 100, Phaser.Easing.Linear.None)
            .to({ x: xpos + 4 }, 100, Phaser.Easing.Linear.None)
            .to({ x: xpos - 3 }, 100, Phaser.Easing.Linear.None)
            .to({ x: xpos }, 100, Phaser.Easing.Linear.None)
            .start();
},
我认为somButton没有定义。我重新加载,在浏览器和手机上都可以正常工作。它并不总是给出错误。它只在浏览器和移动设备上首次加载时出错

原创

你的phaser游戏有固定的宽度和高度,还是像这样填充视口:

game = new Phaser.Game(window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio, Phaser.CANVAS, 'gameArea');
这是从这里拍摄的:


用更多代码编辑了这篇文章,我有这样一个:
var game=new Phaser.game(JOGO.area.width,JOGO.area.height,Phaser.CANVAS,'game')我的意思是,你的设备像素密度可能非常高,这将导致你的游戏缩小。如果你浏览我链接的那篇文章,它会解释得更好。这就是为什么在我引用的代码中,它取window.innerWidth和height,然后乘以devicePixelRatio。我设法对它进行了缩放,但问题是按钮也不起作用。你能再分享一些代码吗。按钮是如何初始化的?可能是在浏览器中链接到游戏?嗯,所以问题可能是在第一次加载时。可能这就是为什么它不能在应用程序中正确加载。谢谢你的反馈。
game = new Phaser.Game(window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio, Phaser.CANVAS, 'gameArea');