java飞机代码_java实现飞机游戏代码

本文实例为大家分享了java实现飞机游戏的具体代码,供大家参考,具体内容如下

MyGameFrame类:

主要的调用类

package sc.wh.game;

import javax.swing.JFrame;

import java.awt.Color;

import java.awt.Font;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Image;

import sc.wh.game.*;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.util.Date;

public class MyGameFrame extends Frame {

// 调用工具类的getImage方法加载图片对象

Image planeImg = GameUtil.getImage("images/plane.png");

Image bg = GameUtil.getImage("images/bg.jpg");

// 创建飞机,设置初始位置

Plane plane = new Plane(planeImg,250,250);

// 创建炮弹组

Shell shells[] = new Shell[50];

// 设置爆炸效果类的对象的引用

Explode bao;

// 游戏开始时间

Date startTime = new Date();

// 游戏结束时间

Date endTime;

// 游戏进行的时间

int period;

// 记录爆炸效果显示的图片

int BaoCount = 0;

// 在窗口画图方法,由repaint方法自动调用

@Override

public void paint(Graphics g) { // 会自动被调用,g相当于一支画笔

Color c = g.getColor();

// 画背景

g.drawImage(bg,0,0,null);

// 调用飞机类的画图方法并画飞机

plane.drawSelf(g);

// 画炮弹组中的炮弹

for (int i=0;i

// 调用炮弹对象的draw方法

shells[i].draw(g);

// 获取炮弹所在矩形位置并调用intersects判断两矩形是否相交

boolean peng = shells[i].getRect().intersects(plane.getRect());

if(peng) {

// 如果相交则设置飞机存活状态为false

plane.live = false;

// 如果bao对象没有初始化过则才初始化

if(bao == null) {

bao = new Explode(plane.x, plane.y);

endTime = new Date();

period = (int)(endTime.getTime() - startTime.getTime())/1000;

}

if(BaoCount <= 15) {

// 调用爆炸效果显示类的画图方法,每次调用只画一张图

bao.draw(g);

BaoCount++;

}

}

// 如果飞机未存活则显示游戏时间

if(!plane.live) {

// 创建字体对象

Font f = new Font("宋体",Font.BOLD,50);

// 设置字体

g.setFont(f);

// 设置字体

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值