2014-10-10 2 views
1

자동으로 아이템을 수집하는 미니 크래프트 용 봇을 프로그래밍하고 싶습니다. 하지만 게임에서 마우스를 움직이는 데 문제가 있습니다. 움직임이 이상하게 작용합니다 ... y 좌표에 1을 더하더라도 x와 y 좌표에서 점프합니다. 이동은 모든 3D 게임에서 미니 크래프트뿐 아니라 이처럼 작동합니다.게임에서 마우스를 움직이는 올바른 방법은 무엇입니까?

나는 움직임을 위해 integreated robot class을 사용합니다. 나는이 코드를 기다리고 있었다 무엇

public static void main(String[] args) { 

    try { 
     Robot bot = new Robot(); 

     Point mouseposition = MouseInfo.getPointerInfo().getLocation(); 
     int x = mouseposition.x; 
     int y = mouseposition.y; 

     //used to switch to the game window 
     bot.delay(5000); 

     y += 1; 

     bot.mouseMove(x, y); 

    } catch (AWTException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

하는 것은 물론 단지 하나 개의 픽셀을 이동하는 것이였다 : 여기

은 내가 마우스 이동에 사용 냈다된다. 바탕 화면에 있으면 커서가 잘 움직입니다!

시스템 :

  • 운영 체제 : 윈도우 8.1
  • 아치 : AMD64
  • javaversion : 1.7.0_67
  • IDE :
+0

bot.mouseMove (x, y)의 기능은 무엇입니까? 이 코드가 있습니까? – david99world

+0

@ david99world 이것은 java의 [로봇 클래스] (http://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html)에 있습니다. 마우스를 화면의 x 및 y 좌표로 이동해야합니다. – Gerret

답변

1

루나 이클립스 당신 다시 게임 창으로 전환하기 전에 마우스 위치를 돌리십시오. 따라서 y 좌표에 1을 더하면 에 마우스가 있던 위치에 1을 더한 후 이동하기 전에 이동하여 게임 창으로 전환하십시오. 대신 Point mouseposition = MouseInfo.getPointerInfo().getLocation(); 줄 앞에 지연을 넣으십시오.

+0

* facepalm * 대단히 고맙습니다 ... 네, 맞습니다. 게임하기 전에 제가 코즈를 받았습니다! 실수를 발견 한 Dident – Gerret

관련 문제