◆□□□□□□□□□□□□□□□□□□□□□□□□□□□◆ HSPであなたもプログラマー 発行者そらとす 第十三回 “キー入力を受けよう。”2001/9/17 MAIL:soratosu@24i.net HP:http://www3.to/soratosu/ ◆□□□□□□□□□□□□□□□□□□□□□□□□□□□◆ どうもどうも。第十三回目のあなた〜マーです。 最近パソコンから変な音がする。やかましい。最近メンテナンス を怠っているからかな? ★前回 前回はcolor!! 省略。バックナンバーみてね。 ★今回 こんかいはキー入力を受けようです。 ちょっと難しいけど、おもしろいからすぐに覚えれますよ。 キー入力の代表的な命令。 getkey stick (今回は省略。) などです。 違いはですね、getkeyは押されていればずっと「押されている」を返し、 stickは一回押されたら一回話すまで「押されている」は返さない、という特徴があります。 さっそく何でもいいんですが、マウスの左クリックを検出してみましょう。 *hajime #1 getkey a,1 #2 if a=1 : goto *osareta #3 wait 1 #4 goto *hajime #5 *osareta mes "おされたよ。" stop #1 ラベルをつくる。 #2 マウスの左クリックを検出。押されていれば、変数aに1を返す。(押されてなかったら0を返す) #3 押されてたら、*osaretaに移動。 #4 少しウェイト。これ超重要。これが無いと、ウィンドウズのタスクをすべて奪ってしまって、 他のアプリケーションに問題がでる。 await 1 とかawait 5 とか wait 100とかなんでもいいので少しウェイとしてください。 #5 *hajimeにもどる。 これが一番単純な検出方法です。 getkey 変数,キーコード でいろいろ検出可能。 1 マウスの左ボタン 2 マウスの右ボタン 3 キャンセル([CTRL]+[BREAK]) 4 3ボタンマウスのまん中のボタン 8 [BACKSPACE](PC98の[BS]) 9 [TAB] 13 [ENTER] 16 [SHIFT] 17 [CTRL] 18 [ALT](PC98の[GRPH]) 20 [CAPSLOCK] 27 [ESC] 32 スペースキー 33 [PAGEUP](PC98の[ROLLDOWN]) 34 [PAGEDOWN](PC98の[ROLLUP]) 35 [END](PC98の[HELP]) 36 [HOME](PC98の[HOMECLR]) 37 カーソルキー[←] 38 カーソルキー[↑] 39 カーソルキー[→] 40 カーソルキー[↓] 48〜57 [0]〜[9](メインキーボード) 65〜90 [A]〜[Z] 96〜105 [0]〜[9](テンキー) 112〜121ファンクションキー [F1]〜[F10] となっています。 いろいろ応用できます。 しかし、前にも書きましたが、getkeyはおされてたらなんでも1を返すので、 連打げーとか作るときはstickを使います。 それは次回もちこし〜。(^^;