如何在Cocoon中使用deviceready后重新连接我的源代码?

时间:2016-04-29 19:44:33

标签: javascript phaser-framework cocoonjs

我需要帮助让游戏在正确的位置运行,在onDeviceReady中。以下是我现在的游戏格式。我不认为游戏运行良好,除非我改变它。主要是我不确定如何范围变量并在设备准备后设置它们。非常感谢。

var cocoon_active = typeof(Cocoon) === 'object'
var one, two, three; // ...

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
  if (cocoon_active) {
  // ...
  }
  // FIXME CANVAS+ CODE RUNS HERE
}

window.onload = function() {
  game = new Phaser.Game(game_width, game_height, Phaser.AUTO, '');
  game.state.add("play_game", play);
  game.state.start("play_game");
}

var play = function(game){}
play.prototype = {
  preload: function() {},
  create: function() {},
  update: function() {},
  render: function() {}
} // end prototype

function a() {}

function b() {}

function c() {} // ...

1 个答案:

答案 0 :(得分:0)

认为游戏运行不好,或者你真的得到错误或黑屏?在CocoonJS启动器应用程序中尝试时,控制台是否会给出任何错误消息?

我在启动CocoonJS in my game之前添加一些代码的方式是这样的。我将类似下面代码的内容添加到一个单独的脚本中,并将其作为主要index.html中的源代码包含在内:

(function (cocoonjsphaser) {

    cocoonjsphaser.utils = {
        runthisfunction: function () {
            // this code will execute when Cocoon starts
        }
    };
    // etc.
}(window.cocoonjsphaser = window.cocoonjsphaser || {}));

if (navigator.isCocoonJS) {

    // run some code at startup
    cocoonjsphaser.utils.runthisfunction();
}

我在主<body>的{​​{1}}内添加了阶段启动代码

index.html