“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

85.HSPでゲーム&ウォッチのヘルメットを作ろう その3

作りはじめは、ファイアと同じく、作業員の移動処理から始めた。
移動のためのキーボードの入力判定や、タッチパネル処理自体は、ファイアのプログラムをそのまま流用できた。

ファイアでは、熱中していると少しずつ指がずれて、ボタンを押せていないことがあったので、プレイ感を上げるために今回はボタンを押したことになる領域を少し広げてみた。

f:id:CORO3:20210529214814j:plain

ファイアと比べて、スタート地点には戻れない、事務所のドアが閉まっていると入れないという処理が必要。
なので、せっかく便利と思っていたlimit命令が使えない…

ファイアだと、救助隊の移動範囲が決まっているので、移動範囲を超えないように、プラス側、マイナス側でそれぞれif文を書いていた。

if px<0 : px=0
if px>2 : px=2

作っている途中で、いろんなサイトや参考ソースを見ていて、limitという命令があることに気づいた。
limit命令は、変数と、下限値、上限値を引数に渡すと、上限、下限を越えない範囲の数値を返してくれる。

px=limit(px,0,2)

こう書いておけば、pxをマイナスしていっても、0未満にならないし、プラスしても2以上にはならない。
救助隊の移動範囲に必ず収まるようになる。
さっきの2つのif文を、1つにまとめられる!便利♪

閑話休題

で、ヘルメットでは、普通にif文で判定することにした。
本来は、スタート地点から一度でると戻れないし、事務所のドアが開いてないと入れない、入ったらスタート地点に戻るが、まずは、動きを見てみたかったので、無視して、移動だけさせてみた。

キャラが動くだけなのだけど、なんか作ってる!って感じがいい。

youtu.be