/*“##########”为不同类的分界*/
package game.plane04;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Date;
/**
*
* @project_name:MyGame
* @type_name:MyGameFrame
* @version:2019年4月22日 上午11:53:52
* @author:zhagnqiang
* @class_description:飞机游戏主窗口
*
*/
public class MyGameFrame extends Frame{
//加载图像
Image planeimg=GameUtil.getImage("images/plane.png");
Image bg=GameUtil.getImage("images/bg.jpg");
Plane plane=new Plane(planeimg,400,400);
// int x=250,y=250;
Shell[] shells=new Shell[30];
Explode bao;
Date startTime=new Date();
Date endTime;
int period;//游戏持续时间
@Override
public void paint(Graphics g) {//paint自动被调用,g相当于一只画笔
//绘制图像
g.drawImage(bg, 0, 0, null);
plane.drawSeft(g);//画飞机
for (int i = 0; i < shells.length; i++) {
shells[i].draw(g);//画炮弹
//碰撞检测
boolean peng=shells[i].getRect().intersects(plane.getRect());
if (peng) {
System.out.println("相撞了");
plane.live=false;
if(bao==null) {//只检测一次碰撞
bao=new Explode(plane.imgX, plane.imgY);
bao.draw(g);
endTime=new Date();
period=(int)(endTime.getTime()-startTime.getTime())/1000;
}
}
if (!plane.live) {
Color color=g.getColor();
g.setColor(Color.white);
g.drawString("游戏持续时间:"+period+"s", (int)plane
尚学堂java300集飞机小游戏实战
最新推荐文章于 2023-05-12 20:53:16 发布