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

uwscについての質問です。
画面内に5種類の画像が3枚以上ずつ現れます。(Aが3枚、Bが5枚、CがDがEが……と言った感じ)画像は一定の範囲内に詰まって配置されるので、マウスをランダムに1枚の画像の上に移動後、マウスの下の色を取得、同色の画像の上を最短で通る道筋を算出したあと、クリック&ドラッグ……という工程を取らせたいです。

この画像は1枚の画像をクリックすると同色の画像が変色してしまう為(Aの画像をクリック→残りのAの画像がA'に変化)クリック前に道筋まで確定させるか、クリック後にRGBに特定の数値を加算した色を見つけ、そこをマウスが通るようにしないといけません。

そもそもマウスの下の色と同じ色を検索してそこまで動かす、という動作のやり方も分かっていません。

どうか分かる方がいましたらコードを交えての回答をよろしくお願いします。

質問者からの補足コメント

  • 画像は一度に5種類しか現れませんが、150種類程度の中からランダムに5種類が選出されるのです……
    すべての画像検索するのはすごく時間がかかりそうで……

      補足日時:2019/05/08 10:13

A 回答 (2件)

> すべての画像検索するのはすごく時間がかかりそうで……



でもそうするしかないでしょ?ここは力技を避けて通れない処理です。できるとしたら、5種類見つかった時点でループをbreakで抜けるくらいが限界。

それに色で判定したければ、その150種類の中に色が重複してるものがないかと、背景に調査対象と同じ色を使ってる場所はないことがわかってなければならないけど、そこはおk?

UWSCに限らずコンピュータに仕事させようとすると、人間が仕事内容を全部調べ尽くしてコードにしてあげないといけないから、めんどいんですよ。自分がやりたいことを自分が本当に理解できているのか?ってことが問われるわけです。ここまでの話の流れから、やってるうちに自分の考えの抜けに気付いて、あれもやってこれも必要なのか、うわめんどくせーって段階にいるのかなって思っています。
    • good
    • 0
この回答へのお礼

いつくかの面倒くさい質問にわかりやすい形で答えていただきありがとうございます。お陰様で何とか見れる形にコードもまとまり、一応の完成、までたどり着くことが出来ました。

お礼日時:2019/05/11 10:43

UWSCでマウスドラッグの処理は始点と終点だけ書けばおk。

マウスのたどる道筋をすべて書く必要は全くありません。だから…

MMV(ドラッグ開始X,ドラッグ開始Y)
BTN(LEFT,DOWN)
MMV(ドラッグ終了X,ドラッグ終了Y)
BTN(LEFT,UP)

もしくは…

BTN(LEFT,DOWN,ドラッグ開始X,ドラッグ開始Y,100)
BTN(LEFT,UP,ドラッグ終了X,ドラッグ終了Y,100)

でいいです。(後者の方法はうまくいくか要チェック)

また色を調べて座標をチェックするのは最悪に非効率です。もしマウスのある場所に対象となる画像があるとは限らない場合、運が悪いと画面全体を1点1点しらみつぶしに見て回ったあげく、ありませんでしたってことになっちゃうので。調べる画面の大きさがVGA(640x480)だったとしても、全点見るには30万7200回もチェックしなきゃいけない。これは壮大な無駄です。

それよりは最初に画像の位置をCHKIMGで調べて配列に座標を覚えておけば、マウスがいる場所にどの画像があるか、どこへドラッグすればいいかは覚えている座標との比較でわかりますよね。
    • good
    • 0

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


このQ&Aを見た人がよく見るQ&A