如何连接Phaser与科尔多瓦
我使用Visual Studio 2015开发html5游戏,并下载了Phaser 2.4.6,并试图获得一个apk。我能拿出,但移相器没有加载...如何连接Phaser与科尔多瓦
HTML
<body>
<script src="cordova.js"></script>
<script src="scripts/platformOverrides.js"></script>
<script src="scripts/src/Phaser.js"></script>
<script src="scripts/index.js"></script>
</body>
index.js
document.addEventListener('deviceready', onDeviceReady.bind(this), false);
function onDeviceReady()
{
document.addEventListener('pause', onPause.bind(this), false);
document.addEventListener('resume', onResume.bind(this), false);
var game = new Phaser.GAMES(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create });
alert("Phaser Going Called...");
};
我没有得到我开始移相器的警报消息。
我下载了VS 2015 Update 1,并在Visual Studio中为Apache Cordova支持安装了必要的位。
使用新项目模板我结束了以下的index.html:
<!DOCTYPE html>
<html>
<head>
<!--
Customize the content security policy in the meta tag below as needed. Add 'unsafe-inline' to default-src to enable inline JavaScript.
For details, see http://go.microsoft.com/fwlink/?LinkID=617521
-->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<title>SimplePhaserTest</title>
</head>
<body>
<div class="app">
<p id="deviceready" class="event">Connecting to Device</p>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="scripts/platformOverrides.js"></script>
<script src="scripts/phaser.min.js"></script>
<script type="text/javascript" src="scripts/index.js"></script>
</body>
</html>
index.js包含以下内容:
// For an introduction to the Blank template, see the following documentation:
// http://go.microsoft.com/fwlink/?LinkID=397704
// To debug code on page load in Ripple or on Android devices/emulators: launch your app, set breakpoints,
// and then run "window.location.reload()" in the JavaScript Console.
(function() {
"use strict";
document.addEventListener('deviceready', onDeviceReady.bind(this), false);
function onDeviceReady() {
// Handle the Cordova pause and resume events
document.addEventListener('pause', onPause.bind(this), false);
document.addEventListener('resume', onResume.bind(this), false);
// TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.
var element = document.getElementById("deviceready");
element.innerHTML = 'Device Ready';
element.className += ' ready';
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create })
alert("Phaser Going Called ...");
};
function preload() {
};
function create() {
};
function onPause() {
// TODO: This application has been suspended. Save application state here.
};
function onResume() {
// TODO: This application has been reactivated. Restore application state here.
};
})();
运行这个地方,然后运行在Android设备(Galaxy S4)上产生了预期的警报消息。
也许只是有一些问题,这带来了一个问题,但有些问题我在代码中看到的都在你的游戏制作:
var game = new Phaser.GAMES(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create });
这应该是new Phaser.Game(
,你要添加它到一个现有的div
与ID为phaser-example
这是不存在于您的示例HTML。
它应该在浏览器中的new Phaser.GAMES
代码上窒息,所以我很困惑你为什么不会在那里看到问题。
如果有帮助,我还在Git repo(链接到特定提交,以防将来扩展回购时)中的上述代码的工作示例。
感谢您的回答!但问题没有解决,我复制了你的整个HTML代码和Index.js代码,并把它放在我的编码中....我从你的GIT帐户中取出Phaser.js文件并将其放入我的文件中,然后尝试运行应用程序只是我的设备中的“设备就绪”文本....就是这样....然后,我导入您的完整代码,并在Visual Studio中创建一个项目,如果我在那里运行没有Visual Studio的结果..没有浏览器弹出窗口 –
如果即使在新项目中没有看到警报,也会听起来像是设备问题。你用什么设备进行测试?如果你认为这可能是有益的,我可以更新项目以实际使用游戏实例; “alert”调用可能存在问题。 –
我创建了一个只显示一些文本和Phaser徽标的新项目。我已经创建了一个自述文件,它介绍了我所做的工作。它不使用警报,因此它可能对您更好。 https://github.com/JamesSkemp/cordova-testing/tree/master/Phaser%20Test%202 –
上面两个不同的文件是?或者是你的HTML文件?我也试图清理你的问题,但我不确定你的意思是什么时候你说“我可以拿出来但Phaser没有加载......” –
是的上面我们有2个不同的文件1)Html 2)Javascript我在HTML页面中加载了cordova,platformOverrides,Phaser,index,使用index.js我尝试使用上面的相位器代码启动相位器,但它并没有启动,并且在启动的下方我们有一个不在游戏中的警告框 –
如果你只是在浏览器中运行它,它是否工作?任何控制台错误?我想你想把游戏附加到一个不存在的div上。 –