package plane;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.awt.Rectangle;
import util.Constant;
import util.GameUtil;
import util.MyFrame;
public class PlaneFrame extends MyFrame {
Image bg=GameUtil.getImage("images/bg.jpg");
Image boom=GameUtil.getImage("images/boom.jpg");
Plane p=new Plane("images/2.png",50,50);
ArrayList bulletList= new ArrayList();
public void paint(Graphics g){
g.drawImage(bg, 0, 0, null);
p.draw(g);
for(int i=0;i<bulletList.size();i++){
Bullet b=(Bullet)bulletList.get(i);
b.draw(g);
//检测和飞机的碰撞
boolean peng=b.getRect().intersects(p.getRect());
if(peng){
System.out.println("============================");
}
}
}package plane;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import util.GameUtil;
public class Plane extends GameObject {
private boolean left,right,up,down;
private boolean live=true;
public boolean isLive() {
return live;
}
public void setLive(boolean live) {
this.live = live;
}
public Rectangle getRect(){
return new Rectangle((int)x,(int)y,width,height);
}
public Plane() {
super();
}
public void draw(Graphics g){
if(live){
g.drawImage(img, (int)x, (int)y, null);
move();
}
}
public void move(){
if(left){
x-=speed;
}
if(right){
x+=speed;
}
if(up){
y-=speed;
}
if(down){
y+=speed;
}
}
public void addDirection(KeyEvent e){
switch(e.getKeyCode()){
case KeyEvent.VK_LEFT:
left=true;
break;
case KeyEvent.VK_RIGHT:
right=true;
break;
case KeyEvent.VK_UP:
up=true;
break;
case KeyEvent.VK_DOWN:
down=true;
break;
default:
break;
}
}
public void reDirection(KeyEvent e){
switch(e.getKeyCode()){
case KeyEvent.VK_LEFT:
left=false;
break;
case KeyEvent.VK_RIGHT:
right=false;
break;
case KeyEvent.VK_UP:
up=false;
break;
case KeyEvent.VK_DOWN:
down=false;
break;
default:
break;
}
}
public Plane(String imgpath, double x, double y) {
super();
this.img = GameUtil.getImage(imgpath);
this.width=img.getWidth(null);
this.height=img.getHeight(null);
this.x = x;
this.y = y;
}
}
public class Bullet extends GameObject{
double degree;
int width=7;
int height=7;
public Rectangle getRect(){
return new Rectangle((int)x,(int)y,7,7);
}