版权声明: https://blog.csdn.net/eds124/article/details/82529538
package a;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Panel;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main {
JFrame jf = new JFrame();
MyJPanel mjp = new MyJPanel();
public Main() {
jf.add(mjp);
jf.addKeyListener(mjp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setExtendedState(JFrame.MAXIMIZED_BOTH);
jf.setLayout(null);
jf.setVisible(true);
mjp.setBounds(10, 10, 1900, 1000);
mjp.setBackground(Color.BLACK);
}
public static void main(String[] args) {
Main m = new Main();
}
}
class MyJPanel extends JPanel implements KeyListener {
Image imgmap = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/dq8map.jpg"));
Image imghero = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/Herom.gif"));
private static int x = 100, y = 100, width = 20, height = 20, speed = 2;
public MyJPanel() {
this.addKeyListener(this);
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(imgmap, 0, 0, 1900, 1000, this);
g.drawImage(imghero, x, y, 20, 20, this);
}
public void keyPressed(KeyEvent ke) {
int i = ke.getKeyCode();
if (i == KeyEvent.VK_E && y > 0) {
y -= speed;
} else if (i == KeyEvent.VK_D && y < 800) {
y += speed;
} else if (i == KeyEvent.VK_S && x > 0) {
x -= speed;
} else if (i == KeyEvent.VK_F && x < 1800) {
x += speed;
}
this.repaint();
}
public void keyReleased(KeyEvent ke) {
}
public void keyTyped(KeyEvent ke) {
}
}