Я разработал игру в RPG Maker MV. Это интерфейс javascript, который позволил мне разработать программирование блоков/царапин, которое затем экспортируется бэкэндом RPG Maker MV в смесь файлов html5/.js ANSI/UTF8. Другими словами, я ничего не знаю о программировании в javascript, который помог бы мне отладить проблему, как описано сейчас, что вышеизложенное не работает.
Simplest Описание: Как сделать загрузку этого файла plugins.js после того, как файлы.js для моего приложения HTML5 были преобразованы из ANSI в спецификацию UTF8?
Проблема. Как только мое приложение упаковано с помощью WinJS или Cordova в Visual Studio 2017 (последняя версия всего) для назначения UWP, некий определенный.js файл (plugins.js, я считаю) не используется (называется?), Что делает приложение не правильно работать в своей упакованной форме. Я сузил это, упаковал приложение, не преобразовывая файлы.js в UTF8 для UWP, и он работает нормально. Как только я конвертирую файлы.js в UTF8 и снова их упаковываю, основное ядро файловой системы игры RPG Maker MV работает, но дополнительные плагины, которые я добавил к нему, не работают.
Все, с кем я об этом говорю, уклоняются от него, потому что они не знают, что такое RPG Maker MV или как он работает. Я не понимаю, почему, потому что это все еще только Javascript, и буквально каждый, кроме меня, тратит 10 минут, будет отлаживаться дальше, потому что вы знаете, что делаете, а я нет. Я пытаюсь понять, но я на первом этаже и не сработал с мая, когда начал отлаживать это.
Я разместил это на форумах RPG Maker MV, сообществе visual studio, связался с поддержкой RPG Maker MV (они не поддерживают UWP) и попытался найти кого-то на codementor.io, чтобы помочь мне. Я также спросил на работе, где у нас буквально сотни разработчиков программного обеспечения, но этот вопрос не привлекает широкую аудиторию.
Если вы можете мне помочь, вы бы поблагодарили меня и по крайней мере 3 рецензентов моей опубликованной, сломанной игры в магазине Windows. Вы были бы знаковым героем на протяжении веков, как и в моей игре. Ну, на самом деле это ироничный герой.
Пожалуйста, как мне сделать загрузку этого файла plugins.js после того, как файлы.js для моего приложения HTML5 были преобразованы из ANSI в спецификацию UTF8? ////main.js//
PluginManager.setup($plugins);
window.onload = function() {
SceneManager.run(Scene_Boot);
};
И index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="user-scalable=no">
<link rel="icon" href="icon/icon.png" type="image/png">
<link rel="apple-touch-icon" href="icon/icon.png">
<link rel="stylesheet" type="text/css" href="/gamefont.css">
<title>Likely Story RPG</title>
</head>
<body style="background-color: black">
<script type="text/javascript" src="/pixi.js"></script>
<script type="text/javascript" src="/pixi-tilemap.js"></script>
<script type="text/javascript" src="/pixi-picture.js"></script>
<script type="text/javascript" src="/fpsmeter.js"></script>
<script type="text/javascript" src="/lz-string.js"></script>
<script type="text/javascript" src="/iphone-inline-video.browser.js"></script>
<script type="text/javascript" src="/rpg_core.js"></script>
<script type="text/javascript" src="/rpg_managers.js"></script>
<script type="text/javascript" src="/rpg_objects.js"></script>
<script type="text/javascript" src="/rpg_scenes.js"></script>
<script type="text/javascript" src="/rpg_sprites.js"></script>
<script type="text/javascript" src="/rpg_windows.js"></script>
<script type="text/javascript" src="/plugins.js"></script>
<script type="text/javascript" src="/main.js"></script>
</body>
</html>
Обновление от комментариев ниже: Хорошо. Я загружаю zip-папку сейчас (2.6 gb) со всем, что вам или кому-то может понадобиться. Это полностью повторило проблему и с гораздо меньшей сложностью в коде игры. Способ сказать, что это не работает: при отладке в визуальной студии приложение имеет наложение изображений внизу слева. Щелчок мышью должен вызвать меню. В упакованном приложении изображение отображается, но не запускает событие меню. 1drv.ms/f/s!AhExycO0yDOZhsdmVSBkhw9t_HNn3w
Обновление: похоже, это была довольно схожая проблема, без решения: Grunt и UglifyJS в разработке приложений для Windows - проблемы UTF8
Я исправил проблему.
Легкий ответ: в файле rpg_manager.js есть раздел кода, где "pluginmanager" вызывается как функция. Это использует флаг script.async = false;
Изменение флага на script.async = true; все, что нужно для того, чтобы работать с установленной средой исполнения (которая является IE для приложений UWP).
Более длинный ответ, я нашел это в сочетании с тем, что был в нужном месте и слышал об асинхронном, а также бессонные мысли о том, где функция может пойти не так. Это было также связано с некоторыми исследованиями по async, найденным здесь: https://www.html5rocks.com/en/tutorials/speed/script-loading/
Я считаю, что это объясняет, почему сборка для Android не показала никаких проблем, и отладка также не имела проблем, поскольку это другое время выполнения.
Переместите весь свой скрипт, за исключением ваших plugins.js в заголовок, который заставит их загружать сначала, а затем вы можете сделать свои plugins.js в теле, которые заставили бы его загрузить позже.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="viewport" content="user-scalable=no">
<link rel="icon" href="icon/icon.png" type="image/png">
<link rel="apple-touch-icon" href="icon/icon.png">
<link rel="stylesheet" type="text/css" href="/gamefont.css">
<title>Likely Story RPG</title>
<script type="text/javascript" src="/pixi.js"></script>
<script type="text/javascript" src="/pixi-tilemap.js"></script>
<script type="text/javascript" src="/pixi-picture.js"></script>
<script type="text/javascript" src="/fpsmeter.js"></script>
<script type="text/javascript" src="/lz-string.js"></script>
<script type="text/javascript" src="/iphone-inline-video.browser.js"></script>
<script type="text/javascript" src="/rpg_core.js"></script>
<script type="text/javascript" src="/rpg_managers.js"></script>
<script type="text/javascript" src="/rpg_objects.js"></script>
<script type="text/javascript" src="/rpg_scenes.js"></script>
<script type="text/javascript" src="/rpg_sprites.js"></script>
<script type="text/javascript" src="/rpg_windows.js"></script>
<script type="text/javascript" src="/main.js"></script>
</head>
<body style="background-color: black">
<script type="text/javascript" src="/plugins.js"></script>
</body>
</html>
Это сделает плагины последними js для загрузки, поскольку он загружается в тело, которое загружается после заголовка, что отвечает на ваш вопрос. Рад быть в состоянии помочь.
Вы можете попробовать атрибуты < script > для правильных сценариев загрузки ниже:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="user-scalable=no">
<link rel="icon" href="icon/icon.png" type="image/png">
<link rel="apple-touch-icon" href="icon/icon.png">
<link rel="stylesheet" type="text/css" href="/gamefont.css">
<title>Likely Story RPG</title>
</head>
<body style="background-color: black">
<script type="text/javascript" src="/pixi.js"></script>
<script type="text/javascript" src="/pixi-tilemap.js"></script>
<script type="text/javascript" src="/pixi-picture.js"></script>
<script type="text/javascript" src="/fpsmeter.js"></script>
<script type="text/javascript" src="/lz-string.js"></script>
<script type="text/javascript" src="/iphone-inline-video.browser.js"></script>
<script type="text/javascript" src="/rpg_core.js"></script>
<script type="text/javascript" src="/rpg_managers.js"></script>
<script type="text/javascript" src="/rpg_objects.js"></script>
<script type="text/javascript" src="/rpg_scenes.js"></script>
<script type="text/javascript" src="/rpg_sprites.js"></script>
<script type="text/javascript" src="/rpg_windows.js"></script>
<script defer type="text/javascript" src="/plugins.js"></script>
<script defer type="text/javascript" src="/main.js"></script>
</body>
</html>