RmakeでACTゲームをつくろう / 番外 外部ツールと連携してみよう
投稿者: aoihikawa
投稿日:2012/02/25 17:02
RmakeでACTゲームをつくろう
番外 外部ツールと連携してみよう
こんにちは。
フリーデザイナープログラマー(自称)の
簸川 葵(ひかわ あおい)と申します。
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0007/6750/__01_01.png)
過去のシリーズ RmakeでACTゲームをつくろう で
ACTゲームを作成しましたが、マップデータのエディトに
苦労されている方もいらっしゃると思います。
そこで、今回はより手軽にマップがエディトできるよう、
外部ツールを利用してみましょう。
番外-01 外部ツールを用意する
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0244/Rmake___02_00.png)
マップエディトに必要な外部ツールを用意します。
今回、利用するツールは
「Platinum」という名前のフリーソフトです。
まずは、配布サイト からダウンロードします。
ダウンロードが完了したら、解凍ソフトを利用して
ファイルを開ける状態にしましょう。
次は、ツールに読み込むマップチップ画像を用意します。
次の2つのファイルを右クリックして保存し、
jpeg形式のファイルに変換してください。
(1)
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0238/Rmake_Map_.png)
(2)
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0241/Rmake_____.png)
それでは、実際にツールを利用して
マップエディトを行ってみましょう。
解凍したフォルダに含まれている、Platinum.exeを起動します。
起動したら、新規作成でマップデータファイルを作成します。
今回のマップ情報設定は、マップの横幅100、縦幅19、
パーツの横幅32、縦幅32、データサイズを16ビットにします。
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0247/Rmake___02_01.png)
マップチップ画像をマップデータに取り込みます。
パーツウインドウの左上にある
パーツ画面の読み込みボタンをクリックします。
先ほど準備した、マップチップ画像を選択し、開きます。
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0250/Rmake___02_02.png)
レイヤーを追加します。
今回は0を背景、1をマップ、2をアイテムなどとします。
レイヤーウインドウの左上にある
新規レイヤー作成ボタンをクリックします。
レイヤーを作成したら、先ほどと同様に
レイヤー1にマップチップ画像、
レイヤー2にキャラクターチップ画像を開きます。
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0253/Rmake___02_03.png)
透過チップの設定を行います。
編集、プロジェクト設定を開き、
透明パーツを有効にするにチェックを入れます。
透明パーツの番号は19番に設定します。
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0291/Rmake___02_04.png)
いよいよ、マップを配置していきます。
まずは、塗りつぶしツールを使用し
透過チップで塗りつぶしましょう。
編集するレイヤーを選択。
塗りつぶすチップを選択、今回は画像右上の19番です。
塗りつぶしツールを選択してマップを塗りつぶします。
同様に、レイヤー1と2も19番で塗りつぶしておきましょう。
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0294/Rmake___02_05.png)
さて、ここからマップの配置は自由に行ってかまいませんが
注意するポイントがあります。
まず、1つめ。
チップを配置するレイヤーを間違えないようにしましょう。
雲などの背景はレイヤー0
床などのオブジェクトはレイヤー1
敵などのオブジェクトはレイヤー2です。
2つめ。
敵やアイテムは左上の場所が設置場所となります。
敵キャラクタはー64×64なので2マス×2マス
アイテム、ゴールは64×96なので2マス×3マスの位置に
設定する必要があります。
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0297/Rmake___02_06.png)
3つめ。
あまり配置しすぎると処理が重くなります。
1画面内で表示されるパーツの数を調整しながら
作成しましょう。
完成したら、一度保存しておきます。
保存したファイルはppj形式で保存され、
次回、ppjファイルを開くことで
再編集できるようになります。
完成したマップデータを
スクリプトに取り込める状態で出力しましょう。
ファイル、書き出しを選択し、
ファイルの種類を「CSV Text File」にします。
ファイル名をいれたら、保存ボタンを押します。
CSVの出力タイプを聞かれるので、
「Type1」を選択してOKを押してください。
出力したデータを編集します。
先ほど作成したcsvファイルを
テキストエディタで開いてみましょう。
「,」で区切られた数字の列が保存されています。
途中にある空白の行は、
別のレイヤーに切り替わっている箇所です。
上から順に、レイヤー0~2となっています。
この,区切りのデータを、文字列の配列変数とする
スクリプトに変更します。
配列の作成はcreateArray関数でしたね。
また、データ部分は文字列なので「"」で囲みます。
map_data = createArray() map_data[00] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[01] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[02] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[03] = "19,19,19,19,19,19,(中略)9,19,19,19,19,19,19,19,19,19,19,19" map_data[04] = "19,19,19,19,19,19,(中略)9,19,19,19,19,19,19,19,19,19,19,19" map_data[05] = "19,19,19,3072,3073(中略)9,19,19,19,19,19,19,19,19,19,19,19" map_data[06] = "19,19,19,19,19,19,(中略)19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[07] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[08] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[09] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[10] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[11] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[12] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[13] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[14] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[15] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[16] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[17] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[18] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[00] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[01] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[02] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[03] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[04] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[05] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[06] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19" map_data[07] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[08] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[09] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[10] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[11] = "19,19,19,19,19,19,(中略)19,19,19,19,19,19,19,19,19" map_data[12] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19" map_data[13] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[14] = "19,19,19,19,19,19,(中略)19,19,19,19,19,19,19" map_data[15] = "19,19,19,19,19,19,(中略)19,19,19,19,19,19,19,19,19" map_data[16] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19,19,19" map_data[17] = "19,19,19,19,19,19,(中略),19,19,19,19,19,19,19,19" map_data[18] = "6,6,6,6,6,6,6,6,6,(中略)" item_data = createArray() item_data[00] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[01] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,19,19" item_data[02] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[03] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[04] = "19,19,19,19,19,19(中略)19,19,19,19,19,19,19,19,19,19" item_data[05] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[06] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,19,19" item_data[07] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[08] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[09] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[10] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,19,19" item_data[11] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[12] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,19,19" item_data[13] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,19,19" item_data[14] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,19,19" item_data[15] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,2,19" item_data[16] = "19,19,19,19,19,19(中略),19,19,19,19,19,19,19,19,19,19" item_data[17] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19" item_data[18] = "19,19,19,19,19,19(中略)9,19,19,19,19,19,19,19,19,19,19"
ここまでで、スクリプトに取り込める状態の
マップデータが完成しました。
番外-02 マップデータをスクリプトに取り込もう
![](https://d2nlrppnj7be8d.cloudfront.net/materials/0011/0300/Rmake___02_07.png)
外部ツールを利用して作成したマップデータを
スクリプトに取り込みましょう。
それではチャプター0にて、関数の追加から。
マップデータ設定とアイテムデータ設定の関数を
編集したものを使用します。
#ここから↑は省略 k = k + 1 end j = j + 1 end i = i + 1 end end #_/_/_/_/_/_/_/_/_/_/_/_/ 追加分 _/_/_/_/_/_/_/_/_/_/_/_/ #マップを設定 def setCreateMapP(img_name, img_no, pos, set_z, map_dat) x = 0; y = 1; w = 2; h = 3 set_map = createArray(); get = createArray(); set = createArray() get[x] = 0; get[y] = 0; get[w] = 32; get[h] = 32 set[x] = 0; set[y] = 0; set[w] = 32; set[h] = 32 #レイヤーが4なら当たり判定の配列を作成 if set_z == 4 hit_map = createArray() end i = 0; ilen = getArrayLength(map_dat) while i < ilen if set_z == 4 hit_map[i] = createArray() end map_d = splitString(map_dat[i],",") j = 0; jlen = getArrayLength(map_d) while j < jlen #画像の切り出しポイントを算出 chk = map_d[j] chk3 = false #画像の貼り付けポイントを算出 if chk == 0 set_map[x] = 0; set_map[y] = 0 else set_map[x] = floor(chk % 256); set_map[y] = floor(chk / 256) if set_map[y] > 24 set_map[y] = set_map[y] - 25 chk3 = true end end #画像を切り出して貼り付けする chk = floor(chk) if (chk != 19) #019番目の画像の場合、画像とあたり判定をセットしない get[x] = set_map[x] * 32; get[y] = set_map[y] * 32 set[x] = 32 * j; set[y] = 32 * i if (chk != 3603) #3603番目の画像の場合、画像をセットしない setCreateSprite(img_name, img_no, get, set, set_z, getVariable(pos)) if set_z == 2 setSpriteIndependentCamera(getVariable(img_name), true) end end if set_z == 4 hit_map[i][j] = chk end else if set_z == 4 hit_map[i][j] = 19 end end j = j + 1 end i = i + 1 end if set_z == 4 setVariable("hit_map", hit_map) end return jlen end #アイテム・敵を設定 def setCreateItemP(max_enemy, max_item, max_goal, map_dat) x = 0; y = 1; w = 2; h = 3 enemy_count = 0; item_count = 0; goal_count = 0 pos_enemy = "pos_enemy"; pos_item = "pos_item"; pos_goal = "pos_goal" set_map = createArray(); get = createArray(); set = createArray() i = 0; ilen = getArrayLength(map_dat) while i < ilen map_d = splitString(map_dat[i],",") j = 0; jlen = getArrayLength(map_d) while j < jlen #画像の切り出しポイントを算出 chk = map_d[j] #画像の座標を算出 if chk == 0 set_map[x] = 0; set_map[y] = 0 else set_map[x] = floor(chk % 256); set_map[y] = floor(chk / 256) if set_map[y] > 24 set_map[y] = set_map[y] - 25 end end #画像を座標にセットする chk = floor(chk) if (chk != 19) if (chk == 0) && (enemy_count < max_enemy) #敵 set[x] = 32 * j; set[y] = 32 * i getVariable(pos_enemy)[enemy_count][x] = set[x] getVariable(pos_enemy)[enemy_count][y] = set[y] setSpritePos("img_enemy", getVariable(pos_enemy), enemy_count) enemy_count = enemy_count + 1 elsif (chk == 1) && (item_count < max_item) #アイテム set[x] = 32 * j - 16; set[y] = 32 * i getVariable(pos_item)[item_count][x] = set[x] getVariable(pos_item)[item_count][y] = set[y] setSpritePos("img_item", getVariable(pos_item), item_count) item_count = item_count + 1 elsif (chk == 2) && (goal_count < max_goal) #ゴール set[x] = 32 * j - 16; set[y] = 32 * i - 4 getVariable(pos_goal)[goal_count][x] = set[x] getVariable(pos_goal)[goal_count][y] = set[y] setSpritePos("img_goal", getVariable(pos_goal), goal_count) goal_count = goal_count + 1 end end j = j + 1 end i = i + 1 end end #_/_/_/_/_/_/_/_/_/_/_/_/ここまで_/_/_/_/_/_/_/_/_/_/_/_/ #当たり判定の座標を算出 def setHitMap(char_atari, map_count) #ここから↓は省略
基本の内容は以前に作成した
setCreateMap、setCreateItemと変わりません。
「,」区切りのデータを配列として取り込むために
splitString関数が追加されています。
次は、チャプター1にて、
マップデータと使用する関数を変更します。
#ここから↑は省略 #敵キャラクターの設定 #_/_/_/_/_/_/_/_/_/_/_/_/ 変更分 _/_/_/_/_/_/_/_/_/_/_/_/ max_enemy = 5 #_/_/_/_/_/_/_/_/_/_/_/_/ここまで_/_/_/_/_/_/_/_/_/_/_/_/ enemy_speed = 5 enemy_w_max = 800 - 63 enemy_anime_change = 2 enemy_hit = createArray() enemy_hit[x] = 10; enemy_hit[y] = 10 enemy_hit[w] = 35; enemy_hit[h] = 35 enemy_point = 100 #アイテムの設定 #_/_/_/_/_/_/_/_/_/_/_/_/ 変更分 _/_/_/_/_/_/_/_/_/_/_/_/ max_item = 5 #_/_/_/_/_/_/_/_/_/_/_/_/ここまで_/_/_/_/_/_/_/_/_/_/_/_/ #中略 #マップデータの配列を準備 #_/_/_/_/_/_/_/_/_/_/_/_/ 変更分 _/_/_/_/_/_/_/_/_/_/_/_/ map_data = createArray() #_/_/_/_/_/_/_/_/_/_/_/_/ここまで_/_/_/_/_/_/_/_/_/_/_/_/ set_z = 2 map_bg_stno = getVariable(img_bg_name) + 1 #_/_/_/_/_/_/_/_/_/_/_/_/ 変更分 _/_/_/_/_/_/_/_/_/_/_/_/ map_data[00] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[01] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[02] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[03] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,3076,3077,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[04] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,3076,3077,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[05] = "19,19,19,3072,3073,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[06] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,3072,3073,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,3074,3075,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[07] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[08] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[09] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[10] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[11] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[12] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[13] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[14] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[15] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[16] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[17] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[18] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" setCreateMapP(img_map_name, img_no, pos_map_bg, set_z, map_data) #_/_/_/_/_/_/_/_/_/_/_/_/ここまで_/_/_/_/_/_/_/_/_/_/_/_/ map_bg_edno = getVariable(img_map_name) + 1 set_z = 4 #_/_/_/_/_/_/_/_/_/_/_/_/ 変更分 _/_/_/_/_/_/_/_/_/_/_/_/ #マップデータを作成 map_data[00] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[01] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[02] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[03] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[04] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[05] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[06] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[07] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[08] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[09] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[10] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[11] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[12] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[13] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[14] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19" map_data[15] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[16] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[17] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,2,2,2,2,3,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" map_data[18] = "6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,19,19,19,19,19,5,6,6,6,6,6,6,6,6,7,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,5,6,6,6,6,6,6,6,6,6,6,6,6" #マップデータの設定 map_count = setCreateMapP(img_map_name, img_no, pos_map, set_z, map_data) #_/_/_/_/_/_/_/_/_/_/_/_/ここまで_/_/_/_/_/_/_/_/_/_/_/_/ map_max_w = map_count * 32 map_w = map_max_w - 800 #中略 #敵・アイテム設定データ #_/_/_/_/_/_/_/_/_/_/_/_/ 変更分 _/_/_/_/_/_/_/_/_/_/_/_/ item_data = createArray() item_data[00] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[01] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[02] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[03] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[04] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[05] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[06] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[07] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[08] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[09] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[10] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[11] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[12] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[13] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[14] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,1,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[15] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,19" item_data[16] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[17] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" item_data[18] = "19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19" setCreateItemP(max_enemy, max_item, 1, item_data) #_/_/_/_/_/_/_/_/_/_/_/_/ここまで_/_/_/_/_/_/_/_/_/_/_/_/ #ここから↓は省略
敵キャラクターとアイテムの設定に使用する値は
自分の作成したマップで設定した
敵キャラクター数、アイテム数にあわせます。
スクリプト全体
これで、完成です。
保存、終了をして、テストプレーを行い、
マップが変更されたか確認してみましょう。
ゲームを公開状態にするときは、
こちらを参考に、オープニング、エンディング、ゲームオーバーの設定も
忘れないようにしましょう。
番外-03 おわりに
いかがでしたでしょうか。
このように、Rmake内の機能に
外部ツールなどの組み合わせを加えることで
ぐっと分かりやすく、便利にすることができます。
それには、外部ツールの仕組みの理解や
どうやって取り込んでいくかという工夫も
必要になってきますが、
十分それ以上の価値が得られるものです。
今回までのシリーズをきっかけに、
面白いアイデアの作品、新しいジャンルのゲームなどが
Rmakeにて登場することを
心より期待、応援しております。
なお、今回のシリーズで完成したサンプルのゲームを
公開しておりますので、実際にプレイしてみたい方は
是非、遊んでみてください。
アクションサンプルゲーム - 【ノベルゲーム】
第01回 関数を再利用してみよう
第02回 マップを表示してみよう
第03回 敵・アイテムを追加してみよう
第04回 敵の動きや背景の演出を入れてみよう
番外 外部ツールと連携してみよう
コメントする
コメントするには、ログインする必要があります。
コメント一覧
どうやってjepgファイルに変換しましたか?
ファイル変換が難しい・・・(╱△╲)…
ファイル変換が難しい・・・(╱△╲)…
ありがとうございます(〃^0^〃)
![User icon mini](/images/default/user_icon_mini.png)
そうなんですか。。。
なるほど。。。
なるほど。。。
![User icon mini](/images/default/user_icon_mini.png)
よし、これ使ってがんばろw
![User icon mini](/images/default/user_icon_mini.png)
高いところにゴール配置して(ジャンプでは届く)
ジャンプではゴールできないのですが仕様ですか?
ジャンプではゴールできないのですが仕様ですか?
![User icon mini](/images/default/user_icon_mini.png)
なるほどー
![User icon mini](/images/default/user_icon_mini.png)
できたけど、マップデータぶぶんが重過ぎてハイスペパソでもかけん・・・
![User icon mini](/images/default/user_icon_mini.png)
す、すげぇ・・・こんな作り方があったのか・・・!?
![User icon mini](/images/default/user_icon_mini.png)
すごーー
これならかんたんにまぷがつくれる!
これならかんたんにまぷがつくれる!
csvファイルの保存でしょうか