カーソルで図形を動かす 『HSP3』
HSPの基本も身についてきたので、いくつかの関数を組み合わせて基本的な動作をみていきます。今回はゲームなどでよく使う「キーボードで図形や画像を動かす」動作をみていきます。今回は図形(円)を動かしてみます。
●使用関数
repeat cls circle stick if
| 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. |
【例1】 x = 50:y = 50 repeat cls circle x, y, x+20, y+20 stick key,15 if key=128 : end if key&1 : x = x-10 if key&4 : x = x+10 if key&2 : y = y-10 if key&8 : y = y+10 await 50 loop |
【コメント】 ;画面をクリア ;円を描く ;キー情報取得 ;ESCで閉じる ;左へ移動 ;右へ移動 ;上で移動 ;下へ移動 ;50ms |
ただ「円を描いて動かす」だけのプログラムです。3行目で画面をクリアして4行目で円を描く作業を繰り返しています。描く位置を決めるx座標とy座標が変数になっており、変数の値を変えることにより動いているように見えます。5行目でキーの情報を取得しています。6行目から10行目で押されたキーにより処理を分岐しています。
6行目:キーコード128は「ESC」キーが押された場合です。end命令により画面を閉じます。

7行目:キーコード1は「左カーソルキー」が押された場合です。画面の座標は左上が「0,0」基準で右にいくほどx座標が大きくなり、下に行くほどy座標が大きくなります。「x=x-10」でx座標を10小さくしています。つまり図形は左に移動します。
8行目:キーコード4は「右カーソルキー」が押された場合です。「x=x+0」でx座標を10大きくしています。つまり図形は右に移動します。
9行目:キーコード2は「上カーソルキー」が押された場合です。「y=y-10」でy座標を10小さくしています。つまり図形は上に移動します。
10行目:キーコード8は「下カーソルキー」が押された場合です。「y=y+10」でy座標を10大きくしています。つまり図形は下に移動します。
カーソルキーの判定に「&」を使っているのは斜めの動きもする為です。カーソルキーの右と下を一緒に押すと右下に移動します。詳しくは「stick命令②」に書いてますので参考にしてください。11行目で「await」命令を使っているのは決まりごとのようなものだと思ってください。無限ループでは「await」や「wait」命令を使ってCPIの負荷を減らしたりします。
2009 年 2 月 21 日 土曜日 【 カテゴリー: HSP3 , サンプル 】


