RPGのゲームを作るためにJSTileMapを使おうとしてハマったのでメモ
JSTileMapとは
tmx形式のマップデータを読み込むライブラリ
Github/JSTileMap
マップデータが読み込めない?
TileMapEditorなるフリーソフトを使い、JSTileMapのライブラリでtmx形式のマップデータを読み込む。
import Foundation
import SpriteKit
class StartScene:SKScene {
var tileMap = JSTileMap(named: "~~~.tmx")
override func didMoveToView(view: SKView) {
self.anchorPoint = CGPoint(x: 0, y: 0)
tileMap.position = CGPoint(x: 0, y: 0)
self.addChild(tileMap)
}
}
実行。
SKTexture: Error loading image resource: ファイルパス
ん?
リファレンスを良く見るとtmxファイルとtexture画像は同じディレクトリに置かなければならない模様。なるほど。tmxファイルとtexture画像を同じディレクトリにおいて再度実行
EXC_BAD_ACCESS
なぬ!?なぜだ。。
いろいろ調べて見るも原因がわからない・・・
あ、そうだ!Githubのサンプルデータをとってこよう。
ということでGithub/JSTileMapから一番最新のtmxファイルと画像データを取り込んで実行。表示された!
自分で作ったtmxファイルとの差分を見てみると、どうやらlayerのencodingをbase64でやらなければならない模様。自分はcsvでしていました。
さっそくencodingをcsvからbase64にかえたところ・・・・
できた!!
解決するのに時間がかかったのでメモ。