2017-10-15 45 views
1

我在RPG Maker MV中开发了一款游戏。这是一个javascript前端,它允许我开发块/抓图程序,然后由RPG Maker MV后端将其导出为html5/.js文件的ANSI/UTF8混合。换句话说,我对JavaScript编程一无所知,这将帮助我调试问题,正如现在所描述的那样,上述内容已不存在。HTML5/JS应用程序不调用index.html中列出的.js文件之一.js文件转换为UTF8

最简单的说明: 一旦我的HTML5应用程序的.js文件已经从ANSI转换为UTF8 BOM,我该如何加载这个plugins.js文件?

问题: 一旦我的应用程序在Visual Studio 2017(适用于UWP目标的最新版本)中使用WinJS或Cordova进行打包,某个.js文件(我相信plugins.js)没有被使用(称为? )使得应用程序无法以其打包形式正确运行。我通过打包应用程序缩小了这一点,而无需将.js文件转换为适用于UWP的UTF8,并且运行良好。一旦我将.js文件转换为UTF8并再次打包,RPG Maker MV游戏后端的核心工作,但我添加到其中的附加插件不起作用。

我对这个问题的所有人都避开它,因为他们不知道RPG Maker MV是什么或它是如何工作的。我不明白为什么,因为它仍然只是Javascript,除了我花费10分钟之外,任何人都会得到更多的调试,因为你知道你在做什么,我不知道。我正在寻求理解,但自从5月份开始调试以来,我一直处于底层,并没有取得多大进展。

我发布在RPG Maker MV论坛,Visual Studio社区,联系RPG Maker MV支持(他们不支持UWP),并试图找到codementor.io上的某个人来帮助我。我也在工作中问过,我们有几百名软件开发人员,但这个问题并没有吸引广泛的读者。

如果你能帮助我,你将会得到我自己以及至少3位在Windows商店上发布的破解游戏的评论者的感谢。你将会成为一个历史悠久的标志性英雄,就像我的游戏中的一个。呃,其实这是一个讽刺英雄。

请问,我的HTML5应用程序的.js文件是否已经从ANSI转换为UTF8 BOM,请如何加载此plugins.js文件? // // 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="fonts/gamefont.css"> 
     <title>Likely Story RPG</title> 
    </head> 
    <body style="background-color: black"> 
     <script type="text/javascript" src="js/libs/pixi.js"></script> 
     <script type="text/javascript" src="js/libs/pixi-tilemap.js"></script> 
     <script type="text/javascript" src="js/libs/pixi-picture.js"></script> 
     <script type="text/javascript" src="js/libs/fpsmeter.js"></script> 
     <script type="text/javascript" src="js/libs/lz-string.js"></script> 
     <script type="text/javascript" src="js/libs/iphone-inline-video.browser.js"></script> 
     <script type="text/javascript" src="js/rpg_core.js"></script> 
     <script type="text/javascript" src="js/rpg_managers.js"></script> 
     <script type="text/javascript" src="js/rpg_objects.js"></script> 
     <script type="text/javascript" src="js/rpg_scenes.js"></script> 
     <script type="text/javascript" src="js/rpg_sprites.js"></script> 
     <script type="text/javascript" src="js/rpg_windows.js"></script> 
     <script type="text/javascript" src="js/plugins.js"></script> 
     <script type="text/javascript" src="js/main.js"></script> 
    </body> 
</html> 

从下面的评论更新: 好了,现在我上传压缩文件夹(2.6 GB)一切都在你或任何人可能需要的。这完美地复制了这个问题,并且在游戏的代码中复杂程度要低得多。告诉它不工作的方式:在Visual Studio中进行调试时,应用程序在左下角显示图片。用鼠标点击应该弹出一个菜单。在打包的应用程序中,图片显示但不运行菜单事件。 1drv.ms/f/s!AhExycO0yDOZhsdmVSBkhw9t_HNn3w

更新:它看起来像这是一个非常类似的问题在这里,无解:Grunt and UglifyJS in Windows app development - UTF8 problems

+0

我们需要的代码....请编辑您的问题,并显示相关的例子。并显示你正在使用的js – Hunter

+0

甚至不知道从哪里开始,也许这就是为什么我从来没有得到任何地方?我将编辑并显示只有两个地方,我可以想象有代码中断。只需要一分钟。 – cunningorb

+0

所以你说的插件js是倒数第二?你需要在插件之前保持最后或加载? – Hunter

回答

1

我固定的问题。

简单的答案,就在文件rpg_manager.js其中“插件管理”被称为一个函数的代码段。这使用标志script.async = false;

更改标志来script.async = TRUE;只需要打包运行时环境(即UWP应用程序的IE)即可运行。

较长上下的答案,我用的已经在正确的地方,听到异步,加上大约在功能可能会错误思想不眠的组合发现了这个。这也是由于一些关于async的研究发现在这里:https://www.html5rocks.com/en/tutorials/speed/script-loading/

我相信这解释了为什么android的构建展示没有问题,调试也没有问题,因为它是一个不同的运行时。

0

把你所有的脚本包括除了你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="fonts/gamefont.css"> 
     <title>Likely Story RPG</title> 
       <script type="text/javascript" src="js/libs/pixi.js"></script> 
     <script type="text/javascript" src="js/libs/pixi-tilemap.js"></script> 
     <script type="text/javascript" src="js/libs/pixi-picture.js"></script> 
     <script type="text/javascript" src="js/libs/fpsmeter.js"></script> 
     <script type="text/javascript" src="js/libs/lz-string.js"></script> 
     <script type="text/javascript" src="js/libs/iphone-inline-video.browser.js"></script> 
     <script type="text/javascript" src="js/rpg_core.js"></script> 
     <script type="text/javascript" src="js/rpg_managers.js"></script> 
     <script type="text/javascript" src="js/rpg_objects.js"></script> 
     <script type="text/javascript" src="js/rpg_scenes.js"></script> 
     <script type="text/javascript" src="js/rpg_sprites.js"></script> 
     <script type="text/javascript" src="js/rpg_windows.js"></script> 
        <script type="text/javascript" src="js/main.js"></script> 
    </head> 
    <body style="background-color: black"> 
<script type="text/javascript" src="js/plugins.js"></script> 
    </body> 
</html> 

这将使插件的最后js加载,因为它加载在正文中,加载后的标题,它会回答你的问题。很高兴能够提供帮助。

+0

由于main.js文件期望plugins.js已被调用,它在调试中给了我错误“未处理的异常”。我相信我可能有错误,但真正的问题似乎与这个plugins.js文件只是没有被称为某种方式一旦我将这些.js文件从ANSI转换为UTF8。 我非常感谢你在找这个,让我知道你想看看它是否会帮助任何其他.js文件。 – cunningorb

+0

给我一个main.js的链接,我会看看它,或者最初加载所有东西的东西。 – Hunter

+0

也在每个文件的顶部放置了一个console.log。所以你可以ATLEAST缩小范围是哪个文件是英寸的console.log(“精灵”),等等。 – Hunter

0

您可以尝试< 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="fonts/gamefont.css"> 
 
     <title>Likely Story RPG</title> 
 
    </head> 
 
    <body style="background-color: black"> 
 
     <script type="text/javascript" src="js/libs/pixi.js"></script> 
 
     <script type="text/javascript" src="js/libs/pixi-tilemap.js"></script> 
 
     <script type="text/javascript" src="js/libs/pixi-picture.js"></script> 
 
     <script type="text/javascript" src="js/libs/fpsmeter.js"></script> 
 
     <script type="text/javascript" src="js/libs/lz-string.js"></script> 
 
     <script type="text/javascript" src="js/libs/iphone-inline-video.browser.js"></script> 
 
     <script type="text/javascript" src="js/rpg_core.js"></script> 
 
     <script type="text/javascript" src="js/rpg_managers.js"></script> 
 
     <script type="text/javascript" src="js/rpg_objects.js"></script> 
 
     <script type="text/javascript" src="js/rpg_scenes.js"></script> 
 
     <script type="text/javascript" src="js/rpg_sprites.js"></script> 
 
     <script type="text/javascript" src="js/rpg_windows.js"></script> 
 
     <script defer type="text/javascript" src="js/plugins.js"></script> 
 
     <script defer type="text/javascript" src="js/main.js"></script> 
 
    </body> 
 
</html>

+0

我会试试这个,很快就打包 – cunningorb

+0

好的。 ping我,如果有什么解决) – lifeisgame

+0

这与恐惧的结果相同,是否有一些JavaScript我可以补充说,这将帮助我缩小发生破损的位置?如UWP警报或将打印到调试Visual Studio控制台的东西?如果是的话,我应该在哪里放置错误检查器? – cunningorb

相关问题