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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0908
せんたくものbutton命令について2解決


せんたくもの

リンク

2010/9/8(Wed) 12:13:51|NO.34911

ボタンの通常の使い方は

button gosub "ボタン1", *click1 button1 = stat button gosub "ボタン2", *click2 button2 = stat button gosub "ボタン3", *click3 button3 = stat stop *click1 dialog "ボタン1" return *click2 dialog "ボタン2" return *click3 dialog "ボタン3" return
ですが、次のような場合

randomize repeat 1 + rnd( 20 ) button gosub "ボタン" + str( cnt ), *ラベル loop stop *ラベル dialog "何番のボタンが押されたかわからないよー><" return
何番のボタンが押されたか取得することはできますか?
ボタンのハンドルを取得して、押されたかどうかの値を参照する…?わかりません;
どなたか教えていただけないでしょうか。



この記事に返信する


SYAM

リンク

2010/9/8(Wed) 12:30:51|NO.34912

・ボタンを配置した直後のシステム変数 stat
・ボタンを押した直後のシステム変数 stat

を比較して、一致したらそのボタンが押されたと判断できます。


repeat 10 button strf("ボタン%d", cnt),*PUSHED_BUTTON : btnid(cnt) = stat loop stop *PUSHED_BUTTON pushed_id = stat repeat 10 if(pushed_id == btnid(cnt)) { title "ボタン" + cnt + "が押されたっぽいです." } loop stop

配列 btnid に、ボタンを配置したときのシステム変数 stat(ボタンのオブジェクトID)を記録しておき、押されたときのシステム変数 stat と比較しています。



せんたくもの

リンク

2010/9/8(Wed) 12:48:29|NO.34913

>ボタンが押された時にジャンプして実行されるプログラムでは、システム変数statの初期値としてオブジェクトIDが代入されます。
ヘルプをちゃんと読まないとは…失態でした;

とにもかくにも ありがとうございました♪



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