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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0930
秒速2センチメートルstick命令で一部の同時押しがうまく取得できない2解決


秒速2センチメートル

リンク

2007/9/30(Sun) 16:41:47|NO.11300

以下のスクリプトは、stick命令で、上下左右の矢印,スペース,Escキーの状態を取得して
表示するもの(のつもり)です。

repeat
stick key, 1 + 2 + 4 + 8 + 16 + 128, 1 color 255, 255, 255 boxf color 000, 000, 000 pos 0, 0 mes strf( "0x%02x", key ) if( key & 1 ) : mes "←" if( key & 2 ) : mes "↑" if( key & 4 ) : mes "→" if( key & 8 ) : mes "↓" if( key & 16 ) : mes "space" if( key & 128 ) : mes "Esc" wait 20 loop

getkey命令で同じ事をやろうとしました。
repeat
color 255, 255, 255 boxf pos 0, 0 color 000, 000, 000 getkey key, 37 ; ← if key : mes "←" getkey key, 38 ; ↑ if key : mes "↑" getkey key, 39 ; → if key : mes "→" getkey key, 40 ; ↓ if key : mes "↓" getkey key, 32 ; space if key : mes "space" getkey key, 27 ; Esc if key : mes "Esc" getkey key, 'A' ; A if key : mes "A" wait 20 loop

ここで、左+上+スペースキーや、右+下+スペースが取得できないという問題が起こるのですが、
別のPCで試したところ、右+下+スペースは取得できるなど、環境によるものなのかとも思います。
具体的に言うと、[左+上]が認識されてるところで、スペースキーを押しても、スペースキーが認識できません。

stick や getkey に代わる方法でもいいのですが、なんとか、これを解決できないでしょうか?




この記事に返信する


D.K

リンク

2007/9/30(Sun) 16:58:35|NO.11301

キーボードに依存します。
Nキーロールオーバーあたりでググるといいかもしれません。
解決法とは言えないかもしれませんがJoyPad対応にすると言う手が。



秒速2センチメートル

リンク

2007/9/30(Sun) 21:36:45|NO.11304

Nキーロールオーバーとは初耳です。
どうやら、ソフトウェアでどうにかなる問題ではなさそうですね。

シューティングゲームを作りたいので、他の方法・・ジョイパも含めて、
色々とやってみようと思います。
もしかしたら、マウスによる移動も一つの手段かもしれませんね。

どうも、ありがとうございました。



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