目次

  1. 質問/回答
  2. マクロを作る例
質問/回答

こちらに質問があったので記事にしました。

質問 >>画像認識についての質問です。
>>画像を認識してマクロを実効し、そこから次の画像を認識する処理を実行することは可能でしょうか。
NPCを画像認識して右クリックしてマクロで処理をし、続けて次のNPCを画像認識して処理する…というイメージです。

回答 画像認識用のアクションを追加すれば可能です。 画像認識処理を同じマクロに複数入れるとアクションが複雑になりがちなので画像認識を複数のマクロに分けるといいでしょう。


マクロを作る例

画像認識を続けて行うマクロの例を順に解説していきたいと思います。 なお、画像認識用の設定はすでに作成済みとします。

今回例で作るマクロは、画像認識を行っていくマクロと画像認識の結果に対する処理を行うマクロの2つに分けて作っていきます。

1

メインのマクロで画像認識を行い、その結果を個別のマクロに渡します。 個別のマクロではその結果を元に処理を分岐させます。

2

では作っていきましょう。

  1. メイン処理用のマクロ「マクロ」を作成します。

    no title

  2. 続けてNPCを探すマクロ「マクロ_NPC1」を作ります。

    1

  3. まず「マクロ_NPC1」から処理を作っていきます。 「引数/ローカル変数」タブをクリックして「引数の設定」の右にある+ボタンをクリックして新しく引数を追加します。

    2

  4. 名前を「$NPCは見つかりましたか」値の種類を「Bool」デフォルトの値を「False」にします。

    3

  5. 「アクションリスト」タブに戻り、「テンプレートを追加する」>「条件分岐(開始 -> 正しくなかったら)」>「末尾に追加」をクリックして条件分岐アクションを追加します。

    4

  6. 「@条件分岐<開始>」アクションをダブルクリックしてアクション選択画面を開きます。 条件式に「$NPCは見つかりましたか == True」を指定して完了します。

    5

  7. 見つかった場合の処理と見つからなかった場合の処理を追加します。 今回の例ではNPCが見つからなかった場合はマクロを強制終了させます。

    6

  8. 次に「マクロ」を選択します。 「アクションを追加する」から「マクロ_NPC1」を選択します。 ここでまず、メソッドウィンドウを開きます。

    7

  9. 画像認識カテゴリから「TemplateMatching.TrySingle」を選択します。 開始/停止キーを設定します(ここは「画像認識/設定」で設定したキーを指定してください)

    8

  10. 右上のチェックマークを押すとクリップボードへメソッドがコピーされるので、メソッド作成ウィンドウを閉じます。 「$NPCは見つかりましたか」でCtrl+Vでペーストし末尾に「 == True」を追加して完了します。

    9

  11. これでNPC1に対する処理が完成しました。 後は同じ要領で「マクロ_NPC」2.3.4...と作成していき「マクロ」に追加していきます。

    10

「マクロ_NPC1」を呼び出す前にNPC1に対して画像認識を実行します。 結果を「マクロ_NPC1」に渡すことで結果ごとの処理を作ることができるというわけですね。

ちなみに手順6、10で「 == True」を追加してと書きましたが追加しなくてもOKだったりします。