私は、可視イメージをアプレットウィンドウ内で斜めに動かす方法を理解しようとしています。可視画像を斜めに移動するにはどうすればいいですか?
上、下、左または右を押すと画像(GIF)が動きますが、一度に2つのキーを同時に押すと(たとえば、同時に上下に移動)、画像は移動します(たとえあなたが同時にキーを押しても、まだ微視的な遅れがあります)を押した方向です。
これを解決する簡単な方法があるかもしれませんが、私は気づいていないかもしれませんし、誰かが考え出した解決策かもしれません...私は何か助けや助言をいただきありがとうございます。
お礼
ヒーロークラス(このクラスは、「ヒーロー」が何であるかを定義し、この場合、単純なピクセルの男と、彼は何ができるのか)
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