マップエディタ変更

マップを作るときにTMapEditerという古いツールを使ってきたのだが、Windown10 だとまともに動かなくなってきたので、Tiled Map Editorというツールに移行できないか試してみる。

今まで作ったマップも作り直すのは勿体ないので仕様を調べてちょいちょいとrubyでスクリプト書いて変換しておく。ちなみにフォーマットはWebで使いやすいようにjsonにする。

こんな感じ。

このマップファイルを実際にゲーム中で読み込むにはJSONライブラリが必要なのだが。プログラム内でいくらrequire ‘json’してもライブラリが在りません的なエラーが表示されてしまう。
そうDxOpal内で標準ライブラリを使うには、事前にdxopal本体のopal/dxoplal.rb内にrequire ‘json’を記述してビルドしてライブラリ入りのdxopal.jsを生成しなければいけないのだ。この辺はノーヒントだと初心者には難しそうだし自分でも忘れそうなので一回手順をまとめておきたいのだが。
また標準ライブラリくらい最初から全部入れておきたい気もするが、ファイルサイズが大きくなってしまうのも困りどころである。

ちなみにjsonファイル読み込みはこんな感じ

  json = JSON.parse(str)
  @width = json[:width]
  @height = json[:height]
  @data = json[:layers][0][:data].map{|d| d - 1}

たった四行……だと?だからRubyはやめられない。値をマイナス1しているのはTiled Map Editorでjson形式でエクスポートすると値が+1されているからである。

0