이것은 첫 번째 게시물이므로 다른 정보가 필요하면 알려주십시오. Java GUI에서 게임을 만들고 있는데, 두 가지에 대한 빠른 질문이 있습니다. 나는 현재 다음과 같은 코드를 사용하여 맵에서 화면 팬에지도를 그릴 수 : 개인 클래스 MoveMap가 된 MouseMotionListener를 구현 {GUI 맵 패닝 Java
@Override
public void mouseDragged(MouseEvent e) {
}
@Override
public void mouseMoved(MouseEvent e) {
if(e.getX() > swidth-30){
if(xmod+(columns*30) > swidth){
xmod-=30;
repaint();
}
}
else if(e.getX() < 30){
if(xmod < 0){
xmod+=30;
repaint();
}
}
else if(e.getY() > sheight-30){
if(ymod+(rows*30) > sheight){
ymod-=30;
repaint();
}
}
else if(e.getY() < 30){
if(ymod < 0){
ymod+=30;
repaint();
}
}
else{
}
}
}
유일한 문제는 마우스가 지속적으로 지속적으로 화면의 가장자리에 이동해야합니다입니다 팬. 내 질문은 화면의 가장자리에 마우스를 가지고 그래픽을 업데이트하는 동안 계속 팬하는 방법이 있다면? 두 번째 질문은 캐릭터가 움직이는 경우에도 적용 할 수 있을까요? 스레드가 가능한 해결책이 될 수도 있지만 사용법에 익숙하지 않은 것 같습니다. 고맙습니다!
빠른 응답을 보내 주셔서 감사합니다! 타이머 나 백그라운드 스레드가 어떻게 해결할 지 조금 혼란 스럽습니다. 내가 MouseMotionListener를 유지하는 것처럼? – yanman1234
그래, 타이머가 작동하지만 마우스가 가장자리를 벗어날 때지도가 계속 이동합니다. 나는''Timer ".stop();을 가지고 있는데, 마우스가 떠난다는 것을 감지하지만 무시할 것으로 보인다. 어떤 제안? – yanman1234
저는 지금 PC에 없지만 타이머와 동일한/단일 참조를 사용하지 않는 것 같습니다. – MadProgrammer