ダレ気味だったのを、ビジホ開発でスイッチが入った私。
開発中のゲーム、project005(仮タイトル)を進めていきます。
ビジホ開発の時は、線で囲んだ範囲から魔法領域が はみ出してしまい、デバッグの最中でした。
結局解決しなくて、後日の家に持ち越しとなりました。
printh(コンソールに表示するprint文)を各所に仕込んで、トレースしながらチェックしたり、ステージの場所を更新の都度表示させるようにもしてみましたが、原因はわかりませんでした。
ふと、テーブルのコピーの実験をしていたら、原因らしきものが浮かんできました。
テーブル名1 = テーブル名2で、テーブル名2の内容をテーブル名1へコピーできると思っていたら、テーブルを指すアドレスをコピーする事に気付きました。
何で気づいたかというと、このコピーをしたあとに、テーブル名1[1] = “A” とすると、テーブル名2[1]の要素も”A”となることでわかりました。
そこで、テーブル名1 = テーブル名2とするのではなく、各テーブル要素毎にループを使ってコピーする関数を作って、それを呼び出してコピーするようにしました。
魔法発動の範囲を黄色で点滅させて確認しました。
色々と試してみると、今度は画面隅で囲むと領域確定できないバグを発見!
画面隅で囲むと、画面外への範囲チェックとなってしまい、上手くいかないことがわかりました。
これは、以前のprinthのトレースが活かされました(何事も経験は無駄にならず)。
画面外へのチェックも実装して、上手くいくようになりました。
黄色く点滅するのは、味気無い(?)ので緑色の炎の様な魔法のアニメーションを描いて表示させるようにしました。
一応(バグが出なければ)、魔法領域確定は実装出来たということで、次の敵と地形に取り掛かります。
コメント