プロが教える店舗&オフィスのセキュリティ対策術

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)

A 回答 (2件)

> どうやって座標を調べたらいのでしょうか?



調べるも何もありません。至って単純です。比較のネタにする画像(例えば画像2)の大きさは解っているわけですから、それのX,Yの大きさを2で割った数をG_IMG_XとYに足せば、CHKIMGで見つけた画像のど真ん中になります。これなら確実です。

(最初からそう書けばよかったですね…)

CHKIMG関数ですが、あまり小さい画像(16ドット未満?)は使えません。エラーにはならないんですけど、拾ってくれませんので、注意してください。見つけたい対象が小さい場合、その周辺も一緒にキャプチャして、16ドット以上になるようにします。

それでは健闘を祈ります。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2007/08/13 11:40

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そのままの座標ではなく、画像の大きさにもよりますが、いくつか足してやった方が動作が安定するかも知れません。そのままの座標だと、画像の左隅を示しているので、ほんのわずかでもマウスが動くと、画像の外に出てしまい、クリックが空振りに終わる心配があります。

この回答への補足

回答ありがとうございます。

座標を変えたほうがいいとのことですが、どうやって座標を調べたらいのでしょうか?

補足日時:2007/08/09 09:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!