#!ruby -Ks # -*- mode: ruby; encoding: sjis -*- # Last updated: <2014/06/24 05:47:50 +0900> # # マップエディタ Tiled でエクスポートした json から # DXRuby用のマップデータを取り出してみるテスト require 'json' require 'pp' if ARGV.size == 0 puts "usage: ruby #{$0} json_file" exit end infile = ARGV[0] unless File.file?(infile) puts "#{infile} not found" exit 1 end d = JSON.parse(File.open(infile).read) # レイヤー枚数分ループ d["layers"].each do |layer| name = layer["name"] w = layer["width"].to_i h = layer["height"].to_i ndt = layer["data"].map {|c| (c == 0 or c== 1)? nil : (c - 1)} a = ndt.each_slice(w).to_a puts "# name=#{name},w=#{w},h=#{h}" puts "mapdata = [" a.each { |aa| puts " #{aa}," } puts "]" end exit