Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

KAutoHelper không tìm được hình ảnh.

12:17 30-09-2021 572 lượt xem 3 bình luận 14:57 30-09-2021

       

#region data
        Bitmap TROG_BMP;
        Bitmap TRONG_BMP;
        #endregion
        public MainWindow()
        {
            InitializeComponent();
            LoadData();
        }

        void LoadData()
        {
            TROG_BMP = (Bitmap)Bitmap.FromFile("Data//trog.png");
            TRONG_BMP = (Bitmap)Bitmap.FromFile("Data//trong.png");
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Task t = new Task(()=> {
                isStop = false;
                Auto();
            });
            t.Start();
        }

        bool isStop = false;
        void Auto()
        {
            // lấy ra danh sách devices id để dùng
            List<string> devices = new List<string>();
            devices = KAutoHelper.ADBHelper.GetDevices();           

            // chạy từng device để điều khiển theo kịch bản bên trong
            foreach (var deviceID in devices)
            {
                // tạo ra một luồng xử lý riêng biệt để xử lý cho device này
                Task t = new Task(()=> {
                    // lặp kịch bản
                    while (true)
                    {
                        // nếu có lệnh stop thì dừng toàn bộ luồng chạy
                        

                        var screen = KAutoHelper.ADBHelper.ScreenShoot(deviceID, false);
                       
                        if (isStop)
                            break;
                        //chọn ô đất 1
                        KAutoHelper.ADBHelper.TapByPercent(deviceID, 33, 50);
                        Delay(2);


                        if (isStop)
                                break;
                        var trogPoint = KAutoHelper.ImageScanOpenCV.FindOutPoint(screen, TROG_BMP);


                        if (trogPoint != null) //nhấp vào trồng
                        {
                                KAutoHelper.ADBHelper.Tap(deviceID, 324, 192);
                                Delay(2);
                        }

                        if (isStop)
                            break;
                        var trongPoint = KAutoHelper.ImageScanOpenCV.FindOutPoint(screen, TRONG_BMP);

                        if (trongPoint != null)
                        {

                            //nhấp trồng
                            KAutoHelper.ADBHelper.Tap(deviceID, 609, 311);
                            Delay(1);
                        }

                    }
                });
                t.Start();
            }
        }

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 12:09 04-10-2021
bạn cần mô ta rõ hơn là không tìm được hình nó có báo lỗi gì k.
cơ chế tìm hình là so 2 hình. nếu hình đầu vào không tồn tại cũng lỗi
2. nếu tỷ lệ so khớp quá cao cũng không thấy. thử giam tỷ lệ so khớp
3. nhớ cài đủ thư viện cần thiết
4. không phải handle nào cũng có thể click ngầm được
toan98 đã bình luận 14:44 30-09-2021

ngoài ra e thử test bản client của game (class UniWndClass) thì tìm được nhưng k nhấn không chiếm chuột được 

Câu hỏi mới nhất