星田オステオパシー

Love2Dでマップエディタを作(れ)る(か!?)02

ところで、エディタ部分でデータを変更する場合、スプライトバッチに追加上書きすることで変更はできそうだが・・出来れば元マップデータ(0,1)を変更してそれを反映させると話が早い。でも初期データだしなぁ・・
更に、最終的に作成したマップデータを出力することは出来るのか?スプライトバッチの中身を覗いてテーブルのデータか、出来れば元マップデータの形式0,1で出せるのだろうか?質問してみる

 やっぱりLoad内をいじっても駄目か〜

 と、思ったがクリアメソッドでbatchを初期化してまた読み込めばいいと。なるほど!

 ついでにマウスで値を変化させるところまで書いてくれるClaude先生。そこは自分で考えたかったのに!

 そして出力部分。fillesysytem.writeでファイルに書き出すことも出来るようだ、これは完璧!

 あとはコードの分からないところを見ていく。考えてみたら本命は次のモモテツライクゲームなので、今回のエディタはあくまで学習としてAIを頼って見てもいいんじゃないかという気がしてきた。
 math.floorて?と思ったがなるほどマウスの座標が小数点までチェックされてたのか・・って小数点?そうだったの(・_・;)

 続いて気になるのはマップ部分はスプライトバッチで表示してるけど、他のUI部分に別パーツを表示したりするところ。もしかしてバッチを使うときには全部バッチにまとめないといけなかったりして?だったら嫌だなあと思いつつ質問。
 良かった、バッチとは別でグラフィックを並行して表示させることが出来る模様。ま、そりゃそうか。わざわざ重要!と書いてくれてるけど、graphis.originって関数で初期化しないといけないらしい。よしよし・・
 となると、あとはめUI部分に表示するグラフィックだけど、せっかくQuadで作ってるわけだからわざわざ別で持ってくるのも面倒すぎる。quad使う方法無いんですか?


 ここで信じがたいものを目撃する。今日一番の感動ポイント。結論から言うとquad(大きな1枚のグラフィックから使いたい部分だけ抜き出したもの)を転用する事が出来る。それも同じlove.graphics.drawで!もしかして引数の形によって、今回だったら第二引数がquad形式だった場合には第一引数を参照元の1枚グラフィックとして取り扱うってこと?


 すげーっ!こういうところですよRustさん・・。こういう風にかけたらなぁ・・ってのがちゃんとそういう風に書けるようになっている。ま、別にlove.graphics.drawQとかでも良いんだけど、手間が無駄にならないようになってるのが嬉しいなぁ

 今日はこの感動だけで十分に満足したぜ!

 と、ここでこの時間のClaude先生の文字制限が来てしまった・・途中、DELLのシフトキーが利かないのを失念して普通にエンター扱いになってしまって文字数を無駄遣いしてしまったのが悪かった・・ちょっと対策しないとまずいな。

 ってことで、今日はここまで。

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事