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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
1017
MZ-SOFTマウスの左・右クリックの区別5解決


MZ-SOFT

リンク

2019/10/17(Thu) 03:52:50|NO.88641

あるボードゲームを作っています。先手・後手を区別するのにマウスクリックを使いたいので
すが、うまくいきません。どこが間違っているのでしょうか?

dim COL COL = 0 repeat onclick iparam if (iparam = 1) :COL = 1:break;左クリックの処理 if (iparam = 3) :COL = -1:break;右クリックの処理 wait 10 loop if (COL = -1) :goto *second:(後手に飛ぶ) *main_loop (先手の時の処理) *second (後手の時の処理 goto *main_loop



この記事に返信する


ゆうやん

リンク

2019/10/17(Thu) 07:30:59|NO.88643

ループ中に処理したいのであれば、onclickではなくgetkeyを使った方がいいと思います。
onclickの使い方が間違ってるんだと思います。



沢渡

リンク

2019/10/17(Thu) 12:04:36|NO.88644

HSPプログラミングマニュアルの「5.12.割り込み」と、
ヘルプのonclickの説明を読んだ方が良いでしょう。
(ヘルプを読む際は、iparamはonclickによって割り込みジャンプした先で参照する
 システム変数だということに注目してください)



MZ-SOFT

リンク

2019/10/17(Thu) 15:59:53|NO.88645

これでうまくいきました。ありがとうございました。

repeat getkey a,1 if (a) :COL = 1:break getkey a,2 if (a) :COL = -1:break wait 10 loop



窓月らら

リンク

2019/10/19(Sat) 02:41:28|NO.88648

解決済ですが、
wait 10
これだと 100ms なので操作性悪そう。
wait 1 か await 16 あたりおすすめします。



MZ-SOFT

リンク

2019/10/19(Sat) 19:52:41|NO.88651

『窓月らら』さん、ありがとうございます。



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