2016-03-03 2 views
0

Я использую Visual Studio 2015 для разработки игр html5 и загрузил Phaser 2.4.6, и я пытаюсь получить apk. Я могу в состоянии вынуть, но Phaser не загружается ...Как подключить Phaser с Cordova

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..."); 
}; 

я не получил предупредительное сообщение, что я инициированного Phaser.

+0

Это два разных файла? Или это ваш HTML-файл? Я также пытался убрать ваш вопрос, но я не уверен, что вы имеете в виду, когда говорите «Я могу вынести, но Phaser не загружается ...» –

+0

Да, у нас есть 2 разных файла 1) Html 2) Javascript Я загрузил кордову, платформу Overrides, Phaser, индекс в HTML-странице. Используя index.js, я попытался инициировать фазер, используя вышеуказанный код фазера, но он не запущен, а ниже инициированного у нас есть окно предупреждения, которое не входит в игру –

+0

Если вы запустите это только в браузере, это сработает? Любые ошибки консоли? Я думаю, вы пытаетесь прикрепить игру к div, которого тоже не существует. –

ответ

1

Я загрузил VS 2015 Update 1 и установил необходимые биты для поддержки Apache Cordova в Visual Studio.

Использование нового шаблона проекта я кончался со следующим 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 с идентификатором phaser-example, которого нет в вашем примере HTML.

Он также должен задыхаться от кода new Phaser.GAMES в браузере, поэтому я смущен, почему вы не увидите там проблемы.

Если это помогает, у меня также есть рабочий пример вышеуказанного кода в Git repo (ссылка на конкретный коммит, если я буду расширять репо в будущем).

+0

Спасибо за ваш ответ !!! Но проблема не решена, я скопировал весь код HTML и код Index.js и поместил его в мою кодировку .... и я беру файл Phaser.js из вашей учетной записи GIT и помещаю его в свой файл, и я попытался запустить приложение просто я получил текст «Device Ready» в устройстве ... вот и все .... Тогда я импортирую ваш полный код, и я создаю проект в Visual Studio, также, если я запустил результат от Visual studio..no всплывающее окно браузера –

+0

Это начинает звучать как проблема с устройством, если вы не видите предупреждение даже с новым проектом. Какое устройство вы используете для тестирования? Если вы считаете, что это может быть полезно, я могу обновить проект, чтобы на самом деле использовать экземпляр игры; может возникнуть проблема с вызовом 'alert'. –

+0

Я создал новый проект, который отображает только текст и логотип Phaser. Я создал README, который просматривает то, что я сделал, чтобы добраться до этого момента. Он не использует предупреждения, поэтому он может работать лучше для вас. https://github.com/JamesSkemp/cordova-testing/tree/master/Phaser%20Test%202 –

Смежные вопросы