UWSC (Universal Windows Script Controller) で指定した画像を検出し、動作を自動で繰り返すスクリプトを書く方法について説明します。この質問にある通り、画像を検出してその後に特定のアクションを取る処理を実現する方法を学びましょう。
1. 画像の検出とクリック
まず、指定した画像を画面上で検出してクリックする方法を見ていきます。UWSCの `FindPic` コマンドを使用して画像を検出し、検出した位置にカーソルを移動してクリックする方法は以下のようになります。
FindPic(0, 0, 1920, 1080, "画像①.bmp") ' 画面全体で画像①を検索
If ret = 1 Then
MouseClick ret_x, ret_y ' 検出された位置をクリック
End If
このコードでは、画像が見つかれば `MouseClick` を使ってその位置をクリックします。
2. 次の画像の検出と動作
次に、画像②が出た時の処理についてです。画像②が検出された場合、指定した動作を行い、もし画像「change」が出現した場合にはスペースを入力します。
FindPic(0, 0, 1920, 1080, "画像②.bmp") ' 画像②の検出
If ret = 1 Then
PerformAction() ' 画像②が見つかれば動作を実行
FindPic(0, 0, 1920, 1080, "画像change.bmp") ' 画像changeの検出
If ret = 1 Then
SendKey "SPACE" ' スペースを入力
End If
End If
この部分では、画像②を検出した後、さらに「画像change」を検出してスペースを入力する処理を実行します。
3. その他の画像に対するアクション
次に、画像③から画像⑦について、1秒待機してからクリックを繰り返す処理を追加します。
FindPic(0, 0, 1920, 1080, "画像③.bmp")
If ret = 1 Then
Wait(1000) ' 1秒待機
MouseClick ret_x, ret_y ' クリック
Wait(1000) ' 1秒待機
MouseClick ret_x, ret_y ' クリック
End If
このコードは、画像③を検出し、1秒待ってからその位置をクリックし、さらに1秒待機して再度クリックします。画像④から画像⑦についても同様のコードを追加することができます。
4. ループして動作を繰り返す
最後に、この処理を繰り返すためには、ループを使用します。以下のように、`Loop` を使って動作を無限に繰り返すことができます。
Loop
FindPic(0, 0, 1920, 1080, "画像①.bmp")
If ret = 1 Then
MouseClick ret_x, ret_y
End If
' 他の画像を検出して処理するコードを続ける
Wait(1000) ' 1秒待機
End Loop
このコードは、指定した画像を繰り返し検出して処理を行います。`Loop` を使うことで、無限に動作を繰り返すことができます。
まとめ
この記事では、UWSCを使用して画像を検出し、その後に指定した動作を繰り返すスクリプトの書き方について解説しました。これで、特定の画像が表示された時に自動でクリックや入力などを行うことができるようになります。質問の内容に合わせたコードを紹介しましたので、ぜひ試してみてください。
コメント