Java教程-看这个就够了(B)(14)
2023-08-19 来源:百合文库
}
public plane(Image img, double x, double y) {
super(img, x, y);//构造方法
}
}
接下来的是MyGameFrame类修改的部分代码可以和原来的对比一下
import java.awt.*;
public class MyGameFrame extends JFrame {
Image bg = GameUtil.getImage("pictures/bg.png");
Image p = GameUtil.getImage("pictures/plane.jpg");
plane plane=new plane(p,200,102);//建个飞机对象,
plane plane2=new plane(p,0,0); plane plane1=new plane(p,69,11);
public void paint(Graphics g) {
g.drawImage(bg, 0, 0, null);
plane.drawSelf(g);/*飞机对象调用drawSelf方法,传入画笔就完事了,之前的是直接暴露在这个类里面实现飞机动起来的,现在封装起来了*/
plane2.drawSelf(g);plane1.drawSelf(g);//可以方便的搞出多个飞机
}
六、键盘控制游戏物体原理
键盘的按下和抬起都会触发相应的键盘事件,事件的信息都封装到KeyEvent对象中,为了识别按下的是哪个键,系统对键盘所有按键做了编号,每一个编号都对应相应的数字。这些编号,我们都可以通过KeyEvent对象来查询,KeyEvent.VK_ENTER实际就是存储了数字10。
加入键盘监听
class KeyMonitor extends KeyAdapter{//(注意要定义为 MyGameFrame的内部类)
//重写keyPressed方法和keyReleased方法
@Override
public void keyPressed(KeyEvent e) {
public plane(Image img, double x, double y) {
super(img, x, y);//构造方法
}
}
接下来的是MyGameFrame类修改的部分代码可以和原来的对比一下
import java.awt.*;
public class MyGameFrame extends JFrame {
Image bg = GameUtil.getImage("pictures/bg.png");
Image p = GameUtil.getImage("pictures/plane.jpg");
plane plane=new plane(p,200,102);//建个飞机对象,
plane plane2=new plane(p,0,0); plane plane1=new plane(p,69,11);
public void paint(Graphics g) {
g.drawImage(bg, 0, 0, null);
plane.drawSelf(g);/*飞机对象调用drawSelf方法,传入画笔就完事了,之前的是直接暴露在这个类里面实现飞机动起来的,现在封装起来了*/
plane2.drawSelf(g);plane1.drawSelf(g);//可以方便的搞出多个飞机
}
六、键盘控制游戏物体原理
键盘的按下和抬起都会触发相应的键盘事件,事件的信息都封装到KeyEvent对象中,为了识别按下的是哪个键,系统对键盘所有按键做了编号,每一个编号都对应相应的数字。这些编号,我们都可以通过KeyEvent对象来查询,KeyEvent.VK_ENTER实际就是存储了数字10。
加入键盘监听
class KeyMonitor extends KeyAdapter{//(注意要定义为 MyGameFrame的内部类)
//重写keyPressed方法和keyReleased方法
@Override
public void keyPressed(KeyEvent e) {