pget()の怪

PICO-8 チャレンジ 第28回 PICO-8
PICO-8 チャレンジ 第28回

PICO-8でスネークゲームをつくっています。

敵をランダムに表示すると、壁の中にも表示されてしまうので、敵の表示座標がどこなのか確認する必要があります。

そこで、その座標の色を調べれば、壁なのか道なのかがわかります。

そして、座標の色を調べる pget()命令をつかうのですが、実行しても上手くいかず、壁の中にも表示されてしまうのです。

なぜだろう?

わからないので、自分で実験コードを書いて試してみました。

pget()関数のテスト

すると、思ってもみない事実を知りました。

なんと、camera関数でpget関数での指定した座標を画面外にすると、他の色を指定していても、0番が返ってくるのです。

そのため、敵のカミツキガエルが壁の中にも表示されてしまったのです。

この方法では、壁の中にも表示されてしまうので、別の方法を考えました。

ステージの情報であるテーブルの内容をチェックして、敵をステージに表示させようと思いました。

また、ヘビの形を矩形として捉えることで、その範囲からある程度離れて敵を置くことで、出現してすぐに噛みつかれるような事も起こりません。

という事で、これからヘビの矩形座標を取得し、それを元にして敵のカミツキガエルを表示させるようにします。

コメント

タイトルとURLをコピーしました