PEEKCOLORで状況判断
色々手直ししてきたので周回安定度はマシになってきたのですが、どうにも戦闘MAP上での挙動で予想外な状況にハマることがあるようです
あるようですってのは未だにその瞬間を見たことが無いからなんですが、何時間眺めていても何も無いクセにちょっと目を離した隙に止まるあたり何か邪悪な意思が働いているのかもしれません(陰謀脳
- 司令部に周回部隊配置
- 空港にダミー(補給用)部隊配置
- 作戦開始
- ダミー部隊選択、メニューオープン、補給
- 周回部隊選択
- プランモードON
- 経路設定
みたいな流れの中でどうやら補給終了後の周回部隊選択を失敗してるぽいのですが、選択してる/してないで生じる画面上の差が少ないので待ち時間見直してみたりしましたがあまり芳しくありません
CHKIMGXでは今回のようなオレンジ色では認識精度を上げにくかったので、最終手段として部隊選択時に現れるオレンジのクロスヘアの有無をPEEKCOLORで拾うことにしました
ifb chkimgx("HQ.bmp",NOXid) then //座標基準取り直し
tim = gettime()
repeat
ifb tim <= gettime() then
P_adb_BTN(G_IMGX_X + delta_X + 45 - 20 + randomx(40), G_IMGX_Y + delta_Y - 22 - 20 + randomx(40), randomx(100), "Select 1SQ")
tim = gettime() + 5 //タイムオーバー判定基準
sleep(2)
endif
sleep(1)
until format(PEEKCOLOR(G_IMGX_X + delta_X + 48, G_IMGX_Y + delta_Y - 109 , COL_RGB), 0, -1) = "FFC308"
座標指示の部分がごちゃついてますがP_adb_BTNでは司令部判定用画像から司令部アイコン中央部まで、PEEKCOLORではクロスヘアのオレンジがある想定位置までの差分を指定しています
色々判りやすいので16進表記のRGB値「FFC308」をそのまま判断値として使うようにformat噛ませたり姑息な技を使いました
クリック後5秒監視して選択状態に無いと判断した場合は再度クリックします
これで解決できれば次はエミュレータの載せ替えを試したいと思います