1

我使用 Phaser 创建游戏,但我发现在例如 facebook 中使用它时会出现问题。在 iframe 中完成重定向时,画布在单击后没有响应。

示例:我有一个 IFrame,在 iframe 中我重定向到 game.html。当我点击 game.html 时,一切都冻结了。

使用计算机(任何浏览器)、windows phone 或 android 时一切正常,但使用 iphone 或 ipad 则无法正常工作。

以下是重放问题的示例文件...

索引.html:

<html>
<body>
    <iframe src="click.html" height="900" width="800"/>
</body>
</html>
click.html
<!DOCTYPE html>
<html>

    <body>

      <a href="Game.html">CLICK HERE</a>

    </body>
</html>

游戏.html

<!DOCTYPE html>
<html>
    <head>
           <style>
            body{overflow:hidden;}
             #game_div {
                 width: 760px;
                 height: 1100px;
                 margin: auto;
             }
        </style>
        <script type="text/javascript" src="./Game/phaser.min.js"></script>
        <script type="text/javascript" src="./Game/main.js"></script>
    </head>

    <body>

      <div id="game_div"> </div>

    </body>
</html>

main.js

var game = new Phaser.Game(760, 1100, Phaser.AUTO, 'game_div');
var overlay, countdownText;
var counter = 0;

var main_state = {
    preload: function() {       

    },
    create: function () {

        //game overlay
        overlay = game.add.graphics(0, 0);
        overlay.beginFill(0x00A54F, 0.8);
        overlay.drawRect(0, 0, game.width, game.height);

        countdownText = game.add.text((game.width / 2), (game.height / 2), counter, { font: "65px Arial", fill: "#ffffff", align: "center" });
        countdownText.anchor.set(0.5,0.5);

    },
    update: function() {
        countdownText.setText(counter++);
    }
}

game.state.add('main', main_state);  
game.state.start('main');  

TNX

4

1 回答 1

1

感谢 Rich Davey 找到了解决方案。

当我添加以下代码时,它可以工作:

game.stage.disableVisibilityChange = true;
于 2014-05-20T06:50:44.733 回答