- ベストアンサー
UWSCで任意ボタンをおした時 複数条件分岐
- UWSCでのプログラムの書き方についての質問です。ある任意のボタンをおした時に指定した画像があるか確かめてあれば指定した画像をクリックさせたい場合の方法を教えていただきたいです。
- 質問者はUWSCのプログラムで、任意のボタンを押すことで指定した画像と一致するものがあるか確かめ、一致した場合に指定した画像をクリックさせたいという方法を知りたいです。
- 特定のボタンを押すことで特定の画像をクリックさせたい場合、UWSCのプログラムで条件分岐を使用する方法があります。具体的には、押されたボタンの状態を確認し、一致する画像があれば指定した画像をクリックする処理を書くことができます。具体的なコマンドや説明を交えて解説します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一行ずつにまとめてみました。 どのみちループで全部チェックされるのだから、elseは入れませんでした。 その代わりキーが重複した場合スルーされません。 --------------------- WHILE !GETKEYSTATE(VK_ESC) //ESCを押すまでループ //同一キーの重複はすべてチェックされます //[y]が押されたら[画像1]をクリック if GETKEYSTATE(VK_y) and chkimg("画像1.bmp") then BTN(LEFT,CLICK,g_img_x,g_img_y,100) //[u]が押されたら[画像2]をクリック if GETKEYSTATE(VK_u) and chkimg("画像2.bmp") then BTN(LEFT,CLICK,g_img_x,g_img_y,100) //[t]が押されたら[画像3]をクリック if GETKEYSTATE(VK_t) and chkimg("画像3.bmp") then BTN(LEFT,CLICK,g_img_x,g_img_y,100) //[a]が押されたら[画像4]をクリック if GETKEYSTATE(VK_a) and chkimg("画像4.bmp") then BTN(LEFT,CLICK,g_img_x,g_img_y,100) //[w]が押されたら[画像5]をクリック if GETKEYSTATE(VK_w) and chkimg("画像5.bmp") then BTN(LEFT,CLICK,g_img_x,g_img_y,100) wend --------------------- 発展形としては配列変数に入れておくとか --------------------- DIM KEY[] = VK_Y, VK_U, VK_T, VK_A, VK_W //先にたくさん登録 DIM IMAGE[]="画像1","画像2","画像3" //3個だけいれると WHILE !GETKEYSTATE(VK_ESC) For i = 0 to LENGTH(IMAGE) //3個の画像だけ回る IF GETKEYSTATE(KEY[i]) and CHKIMG(IMAGE[i]) then BTN(LEFT,CLICK,g_img_x,g_img_y,100) BREAK //スルーするためForループを抜ける ENDIF NEXT WEND ---------------------
お礼
なるほど。 返事が遅くなり誠に申し訳ありませんでした。 &を使うと良かったのですね。 Excel関数と違い&付けるとどのように動作するのかわからなかったので 大変助かりました。 DIMの使い方も詳しく解説つけてくださりありがとうございました (人>д<*ペコ感謝)