こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

UWSCの画像認識について

質問させていただきます

ifb CHKIMG("画像.bmp",)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
endif

これを複数の画像でやりたいときは

ifb CHKIMG("画像.bmp",)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
endif

ifb CHKIMG("画像.bmp",)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
endif
のようにしないとだめなのでしょうか?
それとも

ifb CHKIMG("画像.bmp",)
CHKIMG("画像.bmp",)
CHKIMG("画像.bmp",)
CHKIMG("画像.bmp",)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
endif
こんな感じにまとめる事はできるのでしょうか?
例として教えてもらえると助かります。
よろしくお願いします

投稿日時 - 2015-12-25 11:28:06

QNo.9101066

すぐに回答ほしいです

質問者が選んだベストアンサー

> 現在は何個も同じのを並べてやっていたのですが速度が不安定なのですけど

であれば、消えたことをチェックするようにした方が良いかもですね。じゃないとその画像が消えるまで何度もクリックしに行ってしまうので。この場合は画像を一個ずつ判断するほうが無難です。

ifb CHKIMG("画像1.bmp)
BTN(LEFT, CLICK, G_IMG_X+4, G_IMG_Y+4) //画像の左隅から若干真ん中寄りをクリック
// 以下のループで画像が消えるのを待つ
while CHKIMG("画像1.bmp)
SLEEP(0.1) // 若干待たないと処理が重くなるため
wend
end if

以上の処理を、画像の数だけ並べることになります。あと、もしかしたらCHKIMGで画像を見つけた後、すぐクリックするんじゃなくてSLEEP(0.1)を入れた方が無難かも知れません。

投稿日時 - 2015-12-25 15:17:18

お礼

ありがとうございます。
最初のorもですけどどちらも試してしっくり来たほうを選びたいと思います。

投稿日時 - 2015-12-25 17:15:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(3)

ANo.2

ワタシは複数のif文を並べる方法でやっています。
ifb CHKIMG("画像1.bmp",)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
endif

ifb CHKIMG("画像2.bmp",)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
endif

画像1の処理後に画像2の処理が作動する可能性もありますが、それがイヤな場合は
flg = 0
ifb CHKIMG("画像1.bmp",)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
flg=1
endif

ifb CHKIMG("画像2.bmp",) and (flg=0)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
endif
みたいにフラグを追加しています。

投稿日時 - 2015-12-25 13:41:06

お礼

参考にさせてもらいます。ありがとうございます。
始めたばかりで手探りですけど調べながら学んで生きたいと思います

投稿日時 - 2015-12-25 17:15:46

ANo.1

条件をorでつなげばできます。

Ifb CHKIMG("画像1.bmp",) or CHKIMG("画像2.bmp",) or …

みたいな感じで。

ただしこの方法だと、複数の画像が画面内に同時にあった場合はシステム変数G_IMG_X, G_IMG_Yはどっちのものになるか、事前テストする必要があります。多分ifb文の式で後にある方の画像のそれになると思います。同時に出ないんだったら心配無用ですが。

投稿日時 - 2015-12-25 12:21:53

お礼

ありがとうございます。
orで試してみたいと思います。
現在は何個も同じのを並べてやっていたのですが速度が不安定なのですけどorでやってみたら改善したりするのでしょうか?

投稿日時 - 2015-12-25 13:28:19

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-