애플릿 창에서 가시적 인 이미지를 대각선으로 이동시키는 방법을 알아 내려고 노력해 왔습니다.보이는 이미지를 대각선으로 이동하는 방법은 무엇입니까?
위, 아래, 왼쪽 또는 오른쪽을 누르면 이미지 (GIF)가 따라 움직이지만 한 번에 두 개의 키 (예 : 동시에 위아래)를 누르면 이미지가 움직입니다 두 번째 누른 방향 (키를 동시에 눌러도 미세한 지연이 있음).
이 문제를 해결할 수있는 간단한 방법이 있을지 모르겠습니다. 누군가가 알아 낸 해결 방법 일 수도 있습니다. 도움이나 조언을 주시면 감사하겠습니다.
감사의
영웅 클래스 (이 클래스는 "영웅"이 무엇인지 정의하고,이 경우 간단한 픽셀 남자, 그가 할 수있는 일)
import objectdraw.*;
import java.awt.*;
public class Hero extends ActiveObject {
private DrawingCanvas canvas;
private VisibleImage player;
public Hero(Location initLocation, Image playerPic, DrawingCanvas aCanvas) {
canvas = aCanvas;
player = new VisibleImage(playerPic, canvas.getWidth()/3,
canvas.getWidth()/3, canvas);
start();
}
public void run()
{
}
public void move(double dx, double dy)
{
player.move(dx, dy);
}
}
HeroGame 클래스 (이 클래스 은 "영웅"을 작성하고 위치뿐만 아니라, 키를 만드는 데 사용되는 것을 그를 이동)
import objectdraw.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class HeroGame extends WindowController implements KeyListener {
private Hero theHero;
private Image playerPic;
private Location initLocation;
public void begin() {
playerPic = getImage("player.gif");
canvas.addKeyListener (this);
this.addKeyListener (this);
requestFocusInWindow();
theHero = new Hero(initLocation, playerPic, canvas);
}
public void keyTyped(KeyEvent e) { }
public void keyReleased(KeyEvent e) { }
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
theHero.move(0,-5);
}
else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
theHero.move(0,5);
}
else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
theHero.move(-5,0);
}
else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
theHero.move(5,0);
}
}
}
감사합니다 - 당신이 한 번 더이 글을 읽을 희망 도움이되는 시간을내어을 지정합니다.
감사합니다. 감사합니다. 내가 무엇인지 알게되면 나는 그것을 반드시 게시 할 것입니다. – Greywarden