版权声明: https://blog.csdn.net/eds124/article/details/82530607
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 java.util.Vector;
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(new Color(50, 100, 150));
}
public static void main(String[] args) {
Main m = new Main();
}
}
class MyJPanel extends JPanel implements KeyListener {
Image imghero = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/Herom.gif"));
private static int x = 0, y = 0, width = 20, height = 20, speed = 20;
// int[][] i2 = { { 0, 0, 1 }, { 0, 0, 1 }, { 0, 0, 1 } };
int[][] i2 = { { 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1 } };
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.BLACK);
for (int i = 0; i < i2.length; i++) {
for (int j = 0; j < i2[i].length; j++) {
if (i2[i][j] == 0) {
g.setColor(Color.RED);
} else if (i2[i][j] == 1) {
g.setColor(Color.blue);
}
g.fillRect(j * 20, i * 20, 20, 20);
}
}
g.drawImage(imghero, x, y, 20, 20, this);
}
public void keyPressed(KeyEvent ke) {
int ike = ke.getKeyCode();
for (int i = 0; i < i2.length; i++) {
for (int j = 0; j < i2[i].length; j++) {
System.out.print(i);
if (ike == KeyEvent.VK_E && y > i * speed) {
y -= speed;
} else if (ike == KeyEvent.VK_D && y < i * speed) {
y += speed;
} else if (ike == KeyEvent.VK_S && x > i2[j][i] * speed) {
x -= speed;
} else if (ike == KeyEvent.VK_F && x < i2[j][i] * speed) {
x += speed;
}
}
System.out.println();
}
this.repaint();
}
public void keyReleased(KeyEvent ke) {
}
public void keyTyped(KeyEvent ke) {
}
}