Tôi đang làm việc trên một dự án về điều khiển từ xa, gửi conrdinate x và y của con trỏ từ máy khách đến máy chủ.Lớp Java Robot mô phỏng chuyển động của con người chuột
Nhưng
robot.mouseMove(x,y);
sẽ chỉ di chuyển con trỏ đến điểm cụ thể mà không cần di chuyển các điểm con trỏ hình thức origional
Tôi có tìm algorthim này đơn giản để mô phỏng sự chuyển động liên tục của chuột
for (int i=0; i<100; i++){
int x = ((end_x * i)/100) + (start_x*(100-i)/100);
int y = ((end_y * i)/100) + (start_y*(100-i)/100);
robot.mouseMove(x,y);
}
Nhưng thuật toán này vẫn còn quá đơn giản, nó chỉ di chuyển từ điểm này sang điểm khác chậm, mà vẫn không giống như hành vi của con người.
Tôi đã đọc một số mã soruce cởi mở về điều khiển từ xa từ web, và tôi tìm thấy dự án này http://code.google.com/p/java-remote-control/ đang sử dụng MosueMovement gọi phương thức từ lớp MouseListener, mà họ sử dụng để thực hiện các "kéo".
Tôi muốn biết là có ai biết cách tốt hơn để làm điều này không?
bạn có thể muốn thu thập một số dữ liệu từ người dùng và sau đó sử dụng dữ liệu đó theo nhiều cách khác nhau để nhân rộng mô phỏng của con người. –
Từ bài đăng của bạn có vẻ như khiếu nại chính của bạn là tốc độ di chuyển của chuột là sai. Nếu đó là vấn đề chính, sau đó bạn có thể điều chỉnh mã của bạn để làm cho con chuột di chuyển một tốc độ không đổi, và sau đó điều chỉnh tốc độ đó cho đến khi nó gần tối ưu. –
Có thể bạn có thể [Alt] + [Tab] vài lần và kiểm tra e-mail và facebook trên đường từ A đến B. Nghiêm túc, mặc dù, tôi cho rằng việc di chuyển chuột của một vài người dùng có thể là một thử nghiệm thú vị làm cho điều này thực tế hơn. Nó sẽ được mát mẻ để đưa vào tài khoản một vài biến, chẳng hạn như X, Y vị trí, tốc độ, thời gian, hướng hiện tại, chạy Rapid Miner và xem những gì bạn có thể trích xuất từ nó. Có lẽ bạn sẽ có thể đưa ra một thuật toán phức tạp hơn. – toniedzwiedz