風邪からようやく回復したのでLove2Dでの桃鉄ライクライクゲー作りの続きをやっていくか!

まず、新たなマップデータに合わせたマップチップを用意します(すっかりやり方を忘れてて結構時間がかかった)。左から、マップデータの0(草原)、1(鉄道縦)・・と順番に並べてAtlasデータとしてImgフォルダにブッ込む

AtlasからQuad形式でビットマップを取り出して設定。ちなみに、何故かBodhi-Linuxで動かしているSublimeテキストエディタでは日本語(というか全角文字)入力をするとバグった表示になるので英単語で文字を打ってます。せっかくLove2Dでは漢字も使えるってのに!不思議な事にBunsen-Linuxでは全然大丈夫です。

Quadをテーブルに収納
Playerテーブルを作って
表示判定にも使うフラグのテーブルFLAGSを用意する。

更に、メニューの検証でカードを表示させたいのでカードの仮データ。駅(都市)にある物件の表示もしたいので1駅分の仮物件データも用意する。まあ、内容はテキトーで。

メニューで表示する一覧を、カードテーブルから.nameにて抜き出して文字列のテーブルにするためのコードを書いて・・・(Table.insert関数の書き方が独特で面白いですね。メソッド風の書き方は統一されてればなるほど分かりやすいな

ここらへんはメニュー表示なんだけど、まずはmainMenuフラグをFalseにして、Move_onをTrueにしてPlayerの表示と移動をやってみよう

Mapインデックス43が「駅」で、そこにPlayer1(赤いキャラ)を立たせてみる。デフォルトではビットマップの左上が0.0になって、そこからxyの増加方向である右下に向かって広がるグラフィックなのでPlayerキャラのように40x80のグラだとyの半分の部分を指定しないとうまく重ならないので、そこんところ注意が必要だな!
グラの汚さとか駅名の表示どうすんだ?とかは置いといて、とりあえず表示出来てよかった!

ではMove_onフラグをオンにしてみよう!

おお、動いた!
けど!見てるだけでは分かりにくいが・・
・上を押すと右、下を押すと左、右を押すと下?、左を押すと上?に動いてしまう。え?Love2Dのバグか!?とまず他人を疑ったが言うまでも無く私のミスです。
・草原部分(マップの0)には入れない様に書いたはずなのにガンガン入れてるし、逆にある部分から右に動けない

おかしいところは大体座標計算部分だな・・とは思ったんだけど面倒なので全部のコード(250行くらい)をまるごとPlerplexity先生に放り投げて「どこがおかしいんスか?」と聞いてみる。うーん・・・?

見比べてみると・・Luaの添字が1から始まる問題もあるけど、そもそもxyが逆になってるじゃないか!
変更したところ、バッチリ想定通りの動きになりました!やったぜ!
というわけで、マップ上を動けるようになるところまではOK。続いてはmenuフラグをTrueにしてメニュー表示部分を書いていくぜ!