• 締切済み

UWSCの画像判定

1.画像1をクリック 2.画像2をクリック   画像2が見つからなければ、見つかるまでスペースキーを押す   画像2をクリック 3.画像3をクリック   画像3が見つからなければ、見つかるまでスペースキーを押す   画像3をクリック この繰り返しをしたいのですが、途中までしかわかりませんでした。 どうしたらいいのでしょうか? //画像1だったら画像1をクリック IF CHKIMG( 画像1, [透過色/色無視, x1, y1, x2, y2] ) THEN BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)

みんなの回答

noname#194317
noname#194317
回答No.2

> どうやって座標を調べたらいのでしょうか? 調べるも何もありません。至って単純です。比較のネタにする画像(例えば画像2)の大きさは解っているわけですから、それのX,Yの大きさを2で割った数をG_IMG_XとYに足せば、CHKIMGで見つけた画像のど真ん中になります。これなら確実です。 (最初からそう書けばよかったですね…) CHKIMG関数ですが、あまり小さい画像(16ドット未満?)は使えません。エラーにはならないんですけど、拾ってくれませんので、注意してください。見つけたい対象が小さい場合、その周辺も一緒にキャプチャして、16ドット以上になるようにします。 それでは健闘を祈ります。

raoki
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。
noname#194317
noname#194317
回答No.1

2.の部分の例を示します。 While True //画像2が現れるのを待つループ  IFb CHKIMG("画像2.bmp")   BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) //見つかったのでクリックする   Break //ループを脱出する  EndIf  KBD(VK_SPACE,CLICK,40) //見つからないのでスペースキーを押す  SLEEP(0.1) //念のため、0.1秒待つ Wend //次の処理へ ひょっとしたら、画像をクリックするとき、G_IMG_XとYそのままの座標ではなく、画像の大きさにもよりますが、いくつか足してやった方が動作が安定するかも知れません。そのままの座標だと、画像の左隅を示しているので、ほんのわずかでもマウスが動くと、画像の外に出てしまい、クリックが空振りに終わる心配があります。

raoki
質問者

補足

回答ありがとうございます。 座標を変えたほうがいいとのことですが、どうやって座標を調べたらいのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A