嗨,我是制作游戏的新手,我正在为一个项目工作。但是,我的代码不会使Ship图像移动。有人可以提供合理而简单的解释吗?甚至可以解释一下如何做到这一点更简单?
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import javax.swing.*;
import java.awt.geom.*;
import java.util.Random;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class SpaceJam extends JPanel implements ActionListener
{
private Timer time;
private ImageIcon Ship = new ImageIcon("Spaceship.PNG");
private ImageIcon Back = new ImageIcon("background.PNG");
private ImageIcon Test = new ImageIcon("test.PNG");
private int x, y, dx, dy;
private Image CurrentImage = Ship.getImage();
public SpaceJam()
{
addKeyListener(new AL());
setFocusable(true);
x = 100;
y = 100;
dx = 0;
dy = 0;
time = new Timer(100, this);
time.start();
}
public void actionPerformed(ActionEvent e)
{
repaint();
move();
}
public void paint(Graphics g)
{
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(Back.getImage() ,0,0,null);
g2d.drawImage(CurrentImage, x, y, null);
}
public void move()
{
x += dx;
y += dy;
}
public class AL extends KeyAdapter
{
public void keyPressed(KeyEvent e){
int key = e.getKeyCode();
if(key == KeyEvent.VK_RIGHT)
{
dx = 5;
move();
}
if (key == KeyEvent.VK_LEFT)
{
dx = -5;
move();
}
}
}
}