if (buttonCheck(0,0,576,576)) {
ここ。buttonCheckが544で入力されていたので、これだと画面端でクリックしてもチップが置けない。
実際にエディタを使ってみて異常に気が付いた。
今回は適当なマップを作ってそのマップをゲーム内で読み込んでみた。
マップサイズを設定する必要があるなぁと実感。
マップのpropertiesにデータとして次回セーブできるようにする。
久しぶりにゲーム本体に手を付ける。GameDataクラスに読み込み命令を追加する。
[GameDataクラス]
//仮データを打ち込み、マップ表示テストを行う
public void maptipKariSet(int mnum,int fnum) {
//省略
//読み込みテスト用マップ
if (mnum==4) {
maptipNumber=dataSL.mapDataLoad(0);
blockNumber=dataSL.blockDataLoad(0);
setMapSize(25,18);
}
//省略
if (mnum==4) {
kariBlock=blockNumber;
}
これだけ。略しすぎて訳が分からないが…マップ4を読み込んでいる、ということ。
使うデータは0番。ああ、これでもうひとつ必要な処理が増えた。
現状ではフロアに対応してない。
セーブとロード時にマップナンバーとフロアナンバーの二つを使うようにしよう。
次回以降に組み込んでおく。つまり、フロアナンバー入力のボタンが要る。
マップのwidth,heighに加え、フロアナンバーの組み込みを次回追加。
拠点のobjを仮入力し、この変なマップへの移動命令を追加する。
//仮データを打ち込み、マップ表示テストを行う。適当な座標に一体出してみる。
public void objKariSet(int mnum,int fnum) {
objKariSet3(23,3,0,12,5,0,4,0,2,2,2); //デバッグ用 map4へ飛ばす
これで準備完了。拠点の右上隅に場所移動イベントを追加した。
触れるとエディタで適当に作ったマップへ移動する。
戻りイベントが組み込まれていないので脱出不能の一方通行だが。
今回は追加分が少ないのでここまで。
マップエディタは大体できた。
今回判明した課題を修正して、そろそろキリにすべきかもしれない。
次のエディタを作り始めるか…。
まず欲しいのはオブジェエディタ。
今までGameDataクラスにダイレクトに打ち込んでいたが、
これをpropertiesファイルから読み込む形に変更する。
従来のやり方だと時間が経ったあとにプログラムを見たら訳が分からないはず。
規模が小さいうちはこのやり方でもいいが、もっと膨大なデータを扱う上で
打ち込みミスが起きてはならない。
視覚的に分かりやすい形にする必要がある。
プログラムが分からない人でも直感的に作れる形にするのがエディターだ。
というわけで、「オブジェエディタ」を作り始める。
マップエディタより扱う変数が多くややこしくなりそうだが、
完成すればゲーム作成が楽になるはず。
・トップページへ戻る