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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0912
ガモウソフトループを使わないキー入力待ち9解決


ガモウソフト

リンク

2008/9/12(Fri) 20:11:19|NO.19437

 私、質問しすぎですか?
ループもダイアログも使わずに キー入力待ちをさせたいのですが、
良い方法はありませんか?
こんな些細な疑問でも、検索しても答えが出ないもので。



この記事に返信する


Kpan

リンク

2008/9/12(Fri) 20:24:10|NO.19439

onkey命令とか?



コンテスト出品者

リンク

2008/9/12(Fri) 23:01:52|NO.19442

「なぜ」ループもダイアログも使わずに キー入力待ちをさせたいのですか?
それを示してくれなければ答えようがないと思います。



かっぺい

リンク

2008/9/12(Fri) 23:02:18|NO.19443

wait命令で待つというのはどうでしょうか。



begriff

リンク

2008/9/13(Sat) 01:16:59|NO.19444

どうも。begriffと申す者です。

oncmd gosub *key,$100 stop *key mes wparam return

このようにすることによって実現可能です。



ガモウソフト

リンク

2008/9/14(Sun) 19:22:50|NO.19480

 あ、返信が遅れて すいません。
ループで入力待ちをすると ラベルが増えるのが、嫌なだけです。

onkey , oncmd , wait , いずれも 良い方法ですね。
onkeyを使ってみようと思います。



elfizm

リンク

2008/9/15(Mon) 02:00:12|NO.19486

ラベルの増殖を嫌うのでしたらこのような方法も悪くないかもしれません。

*@ await stick key if key&32 : goto *@f // enterで終了 goto *@b *@ end



s

リンク

2008/9/15(Mon) 02:33:55|NO.19487

ラベル使わないなら


repeat redraw 0 getkey k,32 if k:break redraw 1 wait 1 loop mes "抜けたよ"

とかでもいい気がしますが・・
まあソースは人それぞれなので色々使ってみることをオススメします!



s

リンク

2008/9/15(Mon) 02:35:56|NO.19488

redraw 1
を忘れてました;


repeat redraw 0 color 255,255,255 boxf color 0,0,0 pos 0,0 mes "Loop : "+cnt+"\nスペースで抜けるよ" getkey k,32 if k:break redraw 1 wait 1 loop redraw 1 mes "抜けたよ"



ガモウソフト

リンク

2008/9/15(Mon) 18:56:45|NO.19497

 おお、break だ。
何かの本に「break を使うときは注意!」と書かれていて
何となく 避けていたけど、
やっぱり 食わず嫌いは駄目ですね。
これで 「ラベル一覧」機能が使いやすくなります。

elfizm さん、S さん、どうも ありがとうございます。



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