Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Sử dụng ADBHelper.Screenshot ở LD thì ok, nhưng Nox thì không được
05:37 29-08-2021
857 lượt xem
5 bình luận
12:51 29-08-2021
Chào Kteam. Mình đang gặp khó ở chỗ tìm vị trí ảnh Crop trong Screenshot.
Cùng là chương trình mình viết sử dụng ở LD thì chạy trơn chu. Nhưng khi cho thêm ADB Nox vào để chạy bên Nox thì đều bị dừng ở phần screenshot, kết quả đều trả về null hết. Mong được các bạn giải đáp. Thks all!
List<string> devices = new List<string>();
devices = KAutoHelper.ADBHelper.GetDevices();
foreach(var deviceID in devices)
{
Task t = new Task(() =>
{
var screenshot = KAutoHelper.ADBHelper.ScreenShoot(deviceID);
KAutoHelper.ADBHelper.TapByPercent(deviceID, 84.7, 87.1);
//chạy vòng lặp click của Chạy quest
while (true)
{
//kiểm tra các vấn đề khi auto
if (isStop)
return;
var screenshot1 = KAutoHelper.ADBHelper.ScreenShoot(deviceID);
var ADDReward = KAutoHelper.ImageScanOpenCV.FindOutPoint(screenshot1,
(Bitmap)Bitmap.FromFile("Data//additional reward.png"),0.9);
var SKIPTutorial = KAutoHelper.ImageScanOpenCV.FindOutPoint(screenshot1,
(Bitmap)Bitmap.FromFile("Data//skip tutoriral.png"), 0.9);
var LVUp = KAutoHelper.ImageScanOpenCV.FindOutPoint(screenshot1,
(Bitmap)Bitmap.FromFile("Data//LV Up.png"), 0.9);
var CharDie = KAutoHelper.ImageScanOpenCV.FindOutPoint(screenshot1,
(Bitmap)Bitmap.FromFile("Data//nhan vat die.png"), 0.9);
var Dungeon = KAutoHelper.ImageScanOpenCV.FindOutPoint(screenshot1,
(Bitmap)Bitmap.FromFile("Data//Quest dungeon.png"), 0.9);
var DungeonExit = KAutoHelper.ImageScanOpenCV.FindOutPoint(screenshot1,
(Bitmap)Bitmap.FromFile("Data//dungeon clear.png"), 0.9);
if (ADDReward!=null)
{
KAutoHelper.ADBHelper.TapByPercent(deviceID, 50.2, 72.6);
}
if(SKIPTutorial!=null)
{
KAutoHelper.ADBHelper.TapByPercent(deviceID, 8.8, 6.4);
KAutoHelper.ADBHelper.TapByPercent(deviceID, 40.1, 65.8);
}
if(LVUp!=null)
{
KAutoHelper.ADBHelper.TapByPercent(deviceID, 16.2, 87.5);
KAutoHelper.ADBHelper.TapByPercent(deviceID, 25.4, 86.8);
KAutoHelper.ADBHelper.TapByPercent(deviceID, 30.2, 13.9);
}
if(CharDie!=null)
{
KAutoHelper.ADBHelper.TapByPercent(deviceID, 50.2, 86.4);
}
if(Dungeon!=null)
{
KAutoHelper.ADBHelper.TapByPercent(deviceID, 38.9, 74.8);
}
if (DungeonExit != null)
{
KAutoHelper.ADBHelper.TapByPercent(deviceID, 61.3, 84.5);
Delay(1);
KAutoHelper.ADBHelper.TapByPercent(deviceID, 84.7, 87.1);
}
}
});
t.Start();
}
1.. có thể đường dẫn có tiếng Việt.
2. Kiểm tra xem đã bắt được device chưa đã
bạn thử bật root mode trên nox lên xem, đợt trước mình cũng bị vậy.
Up code lên để mọi người check thử nha bạn.