HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0907
ユナンstick命令でZボタンなどを認識させたいのですができますか?4解決


ユナン

リンク

2008/9/7(Sun) 16:30:22|NO.19109

getkye関数だとどうしても使い勝手が悪いのです。
やり方などがありましたら是非教えてください。



この記事に返信する


GENKI

リンク

2008/9/7(Sun) 16:37:44|NO.19111

HSP開発wikiには便利なモジュールもたくさんあります。参考にどうぞ。
http://hspdev-wiki.net/?Module%2F%B3%C8%C4%A5%C8%C7stick
nキーロールオーバーに注意してください。



ユナン

リンク

2008/9/7(Sun) 17:06:18|NO.19114

ありがとうございます^^



ANTARES

リンク

2008/9/7(Sun) 23:12:57|NO.19137

>HSP開発wikiには便利なモジュールもたくさんあります。参考にどうぞ。
>http://hspdev-wiki.net/?Module%2F%B3%C8%C4%A5%C8%C7stick
 見てみましたが、使い方がよくわかりません。
ソースはマクロを使っている時点で読む気が失せました。

;キーの組み合わせとキーボードによっては3キー同時押しは検知できません knum=10 dim key,knum repeat i=0 repeat 255 if cnt<knum: key.cnt=0 getkey c,cnt if c: if i<knum: key.i=cnt: i++ loop keys="" repeat knum keys+=strf("%d ",key.cnt) loop title keys wait 10 loop



SYAM

リンク

2008/9/7(Sun) 23:52:32|NO.19141

モジュールでやってることに近いですが、
stick命令に近いものをgetkeyで実現するサンプルです。
これを改造することで、実現したいことができるかもしれません。


得られる値はstick命令と同等です。
以下の点で、stick命令とは違います。
・命令一つではないです。
・非トリガータイプはあらかじめ専用の変数に代入しておきます。
・ウインドウアクティブチェックができません。

また、サンプルなのでキーがSPACEしか対応してませんが、追加は容易ですよね。


dim キー番号,5 扱うキーの数 = 5 キー番号 = 32,40,39,38,37 非トリガータイプキー値 = 15 // 上下左右を非トリガーとしてみる. *KEYSTART キー情報 = 0 repeat 扱うキーの数 getkey 押されていたら1 , キー番号(cnt) キー情報 = ((キー情報 << 1) | 押されていたら1) loop 結果 = ((キー情報^前回のキー情報)|非トリガータイプキー値)&キー情報 前回のキー情報=キー情報 // この時点で、結果にstick命令で得られるのと同じ値が入っています. // タイトルバーで確認してみてください. if (結果&16):mes "スペース押されたよ." title ""+結果 wait 1 goto *KEYSTART // getkey命令のキー番号. // 37 : カーソルキー[←] // 38 : カーソルキー[↑] // 39 : カーソルキー[→] // 40 : カーソルキー[↓] // 32 : スペースキー // stick命令のキーに対応する値. // 1 : カーソルキー左(←) // 2 : カーソルキー上(↑) // 4 : カーソルキー右(→) // 8 : カーソルキー下(↓) // 16 : スペースキー


日本語の変数とか説明には便利な気がする。 読みにくいかな…?



ONION software Copyright 1997-2021(c) All rights reserved.