« 【講座】HSPミニミニスクリプト 第1回 | メイン | 【よみもの】もーりおのつぶやき 第33回 »

2008年08月29日

【講座】HSP3ワンポイントテクニック 第33回

このコーナーでは、HSP3の変わった使用例や、気付きにくい機能
などを紹介していきたいと思います。
今回は、キー入力についての小さなテクニックです。
ゲームなどで使われるカーソルキーや、スペースキーなどの
代表的なキー情報はstick命令によって一度に取得することが
できます。しかし、それ以外のキーはgetkey命令によって
1つ1つ状態を取得する必要があります。
ただし、getkey命令にはstick命令で用意されていたトリガー
情報を取得することができません。
トリガー情報は、キーを押した瞬間だけを検知して、それ以降は
キーを離すまで検知されません。キーを押した回数などを知る
場合にも役立つ情報です。
以下のサンプルスクリプトは、getkey命令でトリガー情報を
得ることができます。

key_a=0
repeat
getkey a,'A'
trg_a=(key_a^a)&a
key_a=a
if trg_a=1 : mes "[A] PUSH"
title "[A]KEY="+key_a
await 20
loop

このスクリプトでは、変数「key_a」は、[A]のキーを押している
間だけ1になり、それ以外は0になります。
そして、変数「trg_a」は[A]のキーを押した瞬間だけ1になり、
それ以外は0になります。
stick命令で使えないキーを扱う場合の参考にしてみてください。
ではでは、また。

(おにたま)

投稿者 usuaji : 2008年08月29日 11:54

口臭チェッカー市場