飞机大战:
一.需求:1.游戏可以产生小敌机/大敌机/蜜蜂 -> 随机(概率)产生
2.跟鼠标相关的操作: a.自己飞机的移动 b.点击开始游戏 c.移出窗口,游戏暂停,移进窗口,游戏继续
3.子弹打中(奖励加成) 小敌机:分数 + x 大敌机:分数 + y 双倍子弹/生命值 小蜜蜂: 双倍子弹/生命值
API(lication programming Interface):应用程序接口
帮助文档 1.java.awt javax.swing – 窗口化界面
Frame -> JFrame :窗口类
DO_NOTHING_ON_CLOSE 关闭时什么都不做
HIDE_ON_CLOSE 隐藏窗口
DISPOSE_ON_CLOSE 注销窗口
EXIT_ON_CLOSE 退出程序
2.画板类:
Panel -> JPanel –>闪屏
原生的 JPanel 是不能自定义绘画的 只能画 按钮 输入框。。。等一些组件
功能增强 ->自定义类继承JPanel
存很多数据 -> 数组:
- 数组长度不可变,想给数组扩容,就必须使用到数组的复制
方法的复制:
1).手打
2).Arrays.copyOf
3) . System.Arrayscopy
2.数组只能存放同种类型的数据
基本数据类型:
引用数据类型
可变数组ArrayList:
1.只能存放引用数据类型
Int -> Integer (包装类)
char -> Character
其余基本数据类型首字母大写
byte -> Byte
2.可以存所有类型,但是建议存同一种类型,因为有可能出现数据转换异常
泛型 - <E>
3.构造方法:
空参构造方法:没有内容的集合 ArrayList list = new ArrayList();
常用方法:
void add(Object Obj) object get(index int) void add(int index,Object obj)
Object remove(int index)
加载图片: IO->输入输出流 ImageIO.read()
ImageDemo.class.getResource("");
ImageDemo.class.getResourceAsStream(); 前提 文件必须在同包下
文件必须在src下
ImageDemo.class.getClassLoader();
画图片 g.drawImage(图片,x,y,this)
图片异常处理:1.图片在应在的地方(java文件,src,out)尝试rebulid 2.确保文件名正确
类的设计 -
对象有:大飞机 图片 x y坐标 move() 奖励 分数 爆炸动画()
小飞机 x y坐标 move() 分数 爆炸动画()图片
小蜜蜂 x y坐标 move() 奖励
英雄机 爆炸动画() x y坐标 move()图片
子弹 x y坐标 move() 图片
图片只加载一次,用static修饰,在最开始加载