import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
public class GameFrame extends JFrame implements KeyListener {
GamePanel gp;
public GameFrame(){
this.setTitle("推箱子");
this.setSize(500, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
gp = new GamePanel();
this.add(gp);
this.addKeyListener(this);//键盘监听事件
}
public void keyPressed(KeyEvent e) {
System.out.println(e);
gp.KetDoewn(e.getKeyCode());//
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
}
public GameFrame(){
this.setTitle("推箱子");
this.setSize(500, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
gp = new GamePanel();
this.add(gp);
this.addKeyListener(this);//键盘监听事件
}
public void keyPressed(KeyEvent e) {
System.out.println(e);
gp.KetDoewn(e.getKeyCode());//
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
}
————————————————————————————————
import java.awt.Graphics;
import javax.swing.JPanel;
public class GamePanel extends JPanel {
GamePlayer player;
public GamePanel(){
player = new GamePlayer(200,300);
}
public void paint(Graphics g){
g.fill3DRect(0, 0, 500, 500, true);//从00点填充一个矩形
player.render(g);
}
public void KetDoewn(int code){//接受窗体里发生的按键
switch(code){
case 38:
player.movePlayer(0, -50);
break;
case 40:
player.movePlayer(0, +50);
break;
case 37:
player.movePlayer(-50, 0);
break;
case 39:
player.movePlayer(+50, 0);
break;
}
this.repaint();
}
}
public GamePanel(){
player = new GamePlayer(200,300);
}
public void paint(Graphics g){
g.fill3DRect(0, 0, 500, 500, true);//从00点填充一个矩形
player.render(g);
}
public void KetDoewn(int code){//接受窗体里发生的按键
switch(code){
case 38:
player.movePlayer(0, -50);
break;
case 40:
player.movePlayer(0, +50);
break;
case 37:
player.movePlayer(-50, 0);
break;
case 39:
player.movePlayer(+50, 0);
break;
}
this.repaint();
}
}
————————————————————————————————
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Image;
import javax.swing.ImageIcon;
public class GamePlayer {
Image im;
int x , y;
public GamePlayer(int _x, int _y){
ImageIcon icon;
icon = new ImageIcon("player.png");
im = icon.getImage();//从icon中导出图片
x = _x;
y = _y;
}
public void render(Graphics g){
g.drawImage(im, x, y, null);
}
public void movePlayer(int dx , int dy){
x += dx;
y += dy;
}
}
int x , y;
public GamePlayer(int _x, int _y){
ImageIcon icon;
icon = new ImageIcon("player.png");
im = icon.getImage();//从icon中导出图片
x = _x;
y = _y;
}
public void render(Graphics g){
g.drawImage(im, x, y, null);
}
public void movePlayer(int dx , int dy){
x += dx;
y += dy;
}
}
—————————————————————————
public class Run {
public static void main(String[] args) {
GameFrame gp = new GameFrame();
GameFrame gp = new GameFrame();
}
}