2017-10-15 5 views
1

RPG Maker MV에서 게임을 개발했습니다. 이것은 내가 RPG Maker MV 백엔드에서 html5/.js 파일의 ANSI/UTF8 혼합 형식으로 내 보낸 블록/스크래치 프로그래밍을 개발할 수있게 해주는 자바 스크립트 프론트 엔드입니다. 다른 말로하면, 자바 스크립트에서 프로그래밍에 대해 아무것도 알지 못한다. 이제는 위와 같은 문제가 해결되었다는 것을 설명하면서 문제를 디버깅하는 데 도움이 될 것이다.HTML5/JS 앱이 index.html에 나열된 .js 파일 중 하나를 한 번 호출하지 않습니다 .js 파일을 UTF8로 변환했습니다.

가장 단순한 설명 : HTML5 앱의 .js 파일이 ANSI에서 UTF8 BOM으로 변환되면이 plugins.js 파일을 어떻게로드하나요?

문제 : 내 응용 프로그램이 UWP 대상에 대해 Visual Studio 2017 (모든 최신 버전)의 WinJS 또는 Cordova를 사용하여 패키지화되면 특정 .js 파일 (plugins.js라고 생각합니다)이 활용되고 있지 않습니다 (?) 패키지 형태로 제대로 실행되지 않습니다. UJP 용 .js 파일을 UTF8로 변환하지 않고 응용 프로그램을 패키징하여 압축 한 결과 제대로 실행됩니다. 일단 .js 파일을 UTF8로 변환하고 다시 패키지하면 RPG Maker MV 게임 백엔드의 핵심이 작동하지만 추가 된 추가 플러그인이 작동하지 않습니다.

내가 RPG Maker MV가 무엇인지, RPG Maker MV가 무엇인지, RPG Maker MV가 어떻게 작동하는지 모르기 때문에이 문제와 관련하여 이야기하는 사람은 누구나 다 알고 있습니다. 왜 아직도 이해가 안되는데, 왜냐하면 그것은 단지 자바 스크립트이기 때문에 문자 그대로 10 분을 소비하는 누군가가 당신이하고있는 일을 알고 있기 때문에 멀리 디버깅을하게 될 것입니다. 나는 이해하려고 노력하고있다. 그러나 나는 1 층에 있고, 이것을 디버깅하기 시작한 5 월부터별로 진전이 없었다.

RPG Maker MV 포럼, Visual Studio 커뮤니티, RPG Maker MV 지원팀 (UWP를 지원하지 않음)에 게시했으며 codementor.io에서 누군가 나를 찾아 보려고했습니다. 저는 말 그대로 수백 명의 소프트웨어 개발자가있는 직장에서 질문을했지만,이 문제는 많은 사람들에게 어필하지 않습니다.

당신이 나 자신과 적어도 3 명의 평론가가 내 창간호에 게시 한 깨진 게임에 대해 감사하다는 말을들을 수 있다면. 내 게임에서와 마찬가지로 나이를 상징하는 영웅이 될 것입니다. 음, 사실 그것은 아이러니 컬 한 영웅입니다.

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) 당신이나 다른 사람들이 필요로하는 모든 것을 가지고 있습니다. 이것은 문제를 완벽하게 복제하고 게임 코드의 복잡성을 줄였습니다. 비주얼 스튜디오에서의 디버그에서 앱의 왼쪽 하단에 그림 오버레이가 있습니다. 마우스로 클릭하면 메뉴가 나타납니다. 패키지 된 앱에서는 그림이 표시되지만 메뉴 이벤트는 실행되지 않습니다. 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 파일에 "pluginmanager"가 함수로 호출되는 코드 섹션이 있습니다. 이 플래그는 script.async = false;

플래그를 script.async = true로 변경합니다. 패키지 된 런타임 환경 (UWP 애플 리케이션을위한 IE)이 작동하기까지 모든 것이 필요했습니다.

더 긴 답변은 적절한 장소에 있고 비동기에 대해 듣고, 기능이 잘못 될 수도있는 곳에서 잠을 못 자고 생각한 것의 조합으로 알게되었습니다. 그것은 또한 여기에 발견 비동기에 대한 연구로 인해 : https://www.html5rocks.com/en/tutorials/speed/script-loading/ 나는 이것이 안드로이드에 대한 빌드는 아무런 문제도 나타나지 않았고, 다른 런타임이기 때문에 디버깅에도 문제가 없었던 이유를 설명합니다 믿습니다.

0

이동 스크립트의 모든 헤더에 당신의 plugins.js을 제외하고 포함이 꽤 비슷한 문제가없는 솔루션으로, 여기에 있었던 것 같습니다 로드가 먼저 이루어지면 나중에로드 할 body에 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

plugins.js가 이미 호출 될 것으로 예상하는 main.js 파일 때문에 디버깅에서 "처리되지 않은 예외"오류가 발생했습니다. 나는 misspoke가 있을지도 모른다라고 생각한다. 그러나 실제 문제는 ANSI에서 UTF8로이 .js 파일을 변환하면 어떻게 든 호출되지 않는이 plugins.js 파일로 거짓말하는 것 같다. 이 문제를 조사해 주셔서 감사 드리며 도움이 될만한 다른 .js 파일을 알려주십시오. – cunningorb

+0

은 main.js에 대한 링크를 제공하며, 처음에는 모든 것을로드합니다. – Hunter

+0

또한 모든 파일의 맨 위에 console.log를 넣습니다. console.log ('sprites') 등의 파일을 최소한으로 줄일 수 있습니다. – 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

ok. 어떤 일이 있어도 ping을하면된다.) – lifeisgame

+0

이것은 같은 결과가 나온다. 내가 추가 할 수있는 자바 스크립트가있어 파손이 일어나는 곳을 좁히는 데 도움이 될까? Visual Studio의 디버그 콘솔로 인쇄 할 UWP 경고 또는 무언가 등? 그렇다면 오류 검사기는 어디에 배치해야합니까? – cunningorb