RPG 바람 매핑을 위한 Egret 공식 권장 방법(성공편)

10465 단어 EgretEngine
지금까지
  • RPG 바람 맵을 실현하는 Egret 공식 추천 방법 (실패 편) getResByUrl 호출 실패
  • RPG 풍도를 실현하는 Egret 공식 추천 방법이 지원되지 않습니다 (실패편 2) GZIP/ZLIB 압축된 TMX
  • 이번에는 Unceaught Error: GZIP/ZLIB comporessed TMX Tile Map not supported!이렇게 말하다
    나는 TMX 파일 형식이 지원되지 않는다는 욕을 먹었다
    tiled.js:3096 Uncaught Error: GZIP/ZLIB compressed TMX Tile Map not supported!
        at Function.Base64.decompress (tiled.js:3096)
        at Function.TMXUtils.decode (tiled.js:3166)
        at new TMXLayer (tiled.js:539)
        at TMXTilemap.parseLayer (tiled.js:1114)
        at TMXTilemap.readMapObjects (tiled.js:1044)
        at TMXTilemap.getLayers (tiled.js:957)
        at TMXTilemap.render (tiled.js:946)
        at Main.onMapComplete (Main.ts:56)
        at WebHttpRequest.EventDispatcher.$notifyListener (egret.js:349)
        at WebHttpRequest.EventDispatcher.dispatchEvent (egret.js:328)
    
    일을 시작하다
    "tiled comporession off"로 검색
    https://gamedev.stackexchange.com/questions/86021/is-there-any-way-to-change-compression-type-of-tmx-file
    You can change it in the map properties. (Map -> Properties...)
    속성 확인

    이 상태에서 저장하면 다음과 같다
    desert.tmx
    <?xml version="1.0" encoding="UTF-8"?>
    <map version="1.2" tiledversion="1.2.2" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="32" tileheight="32" infinite="0" nextlayerid="2" nextobjectid="1">
     <tileset firstgid="1" source="../../Program Files/Tiled/examples/desert.tsx"/>
     <layer id="1" name="Ground" width="40" height="40">
      <data encoding="base64" compression="zlib">
       eJztm...QDjOLfP
      </data>
     </layer>
    </map>
    
    XML 형식으로 변경

    이렇게 됐어!
    desert.tmx
    <?xml version="1.0" encoding="UTF-8"?>
    <map version="1.2" tiledversion="1.2.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="32" tileheight="32" infinite="0" nextlayerid="4" nextobjectid="1">
     <tileset firstgid="1" source="../../Program Files/Tiled/examples/desert.tsx"/>
     <layer id="3" name="Ground" width="48" height="48">
      <data>
       <tile gid="30"/>
     :
     :
       <tile/>
      </data>
     </layer>
    </map>
    
    리소스 교체
    지난번에 프로젝트의 Resources 폴더에 설정했습니다.파일을 이전 파일로 바꾸기
    실행 시도!
    그게 틀렸어?!
    그렇긴 하지만 지난번 일이 생각나지
    https://qiita.com/motoyasu-yamada/items/1f10a0bedb68727852ca
    tiled.js:2549 Uncaught Error: tmx not support tsx file load!!!
        at new TMXTileset (tiled.js:2549)
        at TMXTilemap.readMapObjects (tiled.js:1041)
        at TMXTilemap.getLayers (tiled.js:957)
        at TMXTilemap.render (tiled.js:946)
        at Main.onMapComplete (Main.ts:56)
        at WebHttpRequest.EventDispatcher.$notifyListener (egret.js:349)
        at WebHttpRequest.EventDispatcher.dispatchEvent (egret.js:328)
        at WebHttpRequest.EventDispatcher.dispatchEventWith (egret.js:389)
        at egret.web.js:1756
    
    기와 세트는 tsx 파일을 사용합니다
    desert.tmx
    <?xml version="1.0" encoding="UTF-8"?>
    <map version="1.2" tiledversion="1.2.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="32" tileheight="32" infinite="0" nextlayerid="4" nextobjectid="1">
     <tileset firstgid="1" source="../../Program Files/Tiled/examples/desert.tsx"/>
     <layer id="3" name="Ground" width="48" height="48">
    
    다음은 내연의 묘사이다
    desert.tmx
    <?xml version="1.0" encoding="UTF-8"?>
    <map version="1.2" tiledversion="1.2.2" orientation="orthogonal" renderorder="right-down" width="48" height="48" tilewidth="32" tileheight="32" infinite="0" nextlayerid="4" nextobjectid="1">
     <tileset firstgid="1" name="Desert" tilewidth="32" tileheight="32" spacing="1" margin="1" tilecount="48"> <image source="tmw_desert_spacing.png" width="265" height="199"/> </tileset>
     <layer id="3" name="Ground" width="48" height="48">
    
    성공!

    좋은 웹페이지 즐겨찾기