java设计飞机大战小游戏

此项目主要使用到了Graphics 绘图类,要想实现此Demo需要熟练掌握此类,以及它的对象是如何创建的,此项目凡是可以飞行的都可以写一个顶级父类,其子类用来继承,我在项目后期才发现可是项目已经实现了很多要想修改需要时间由于我们项目时间很短,所以并没有来得及修改,如果有同学愿意修改,可以尝试一下,联系一下继承和接口嘛,谢谢!

package com.view;

import javax.swing.JFrame;

import com.listener.FrameMouseMotionListener;
import com.model.Enemy001;
import com.model.Enemy002;


//设置框架
public class MyFrame extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static int frameWidth=450;//要用类调用
	public static int frameHeight=700;
	
	//关联,需要把面板添加到框架中
	public MyPanel panel;
	
	//存放鼠标移动监听器
	public FrameMouseMotionListener frameMouseMotionListener;
	
	
	public MyFrame() {
		//调用父类构造,设置窗口名称
		super("飞机大战....");
		
		//设置窗口的大小
		setBounds(0, 0, frameWidth, frameHeight);
		
		//设置窗口的位置,居中
		setLocationRelativeTo(null);
		
		//布局方式
		setLayout(null);
		
		//设置可见
		setVisible(true);
		
		//窗口大小不可调整
		setResizable(false);
		
		
		this.panel=new MyPanel();
		
		//设置面板的大小
		this.panel.setBounds(0, 0, frameWidth, frameHeight);
		
		//将面板添加到框架中
		this.add(this.panel);
	
		//窗口关闭
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		//调用监听器封装函数
		setTouchListener();
		
		//添加敌机的类型
		addEnemyType(Enemy001.class);
		addEnemyType(Enemy002.class);
		
		
	}
	//封装监听器函数
	public void setTouchListener() {
		this.frameMouseMotionListener=new FrameMouseMotionListener();
		this.frameMouseMotionListener.MyFrame=this;
		//注册监听器
		this.addMouseMotionListener(this.frameMouseMotionListener);
	}
	
	public void addEnemyType(Class c) {
		this.panel.enemyType.add(c);
	}
	
}
package com.view;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;

import javax.swing.JPanel;

import com.Thread.DrawableThread;
import com.model.Bullet;
import com.model.Enemy;
import com.model.Player;

public class MyPanel extends JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public Image bgImage;
	public DrawableThread drawableThread;
	public Player player;

	//存放所有子弹对象
	public ArrayList<Bullet> bullets=new ArrayList<Bullet&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值