标签:获得 tga draw 取整 返回 定义 做什么 getwidth 技能
1 涉及到对文件的处理,必须?
做异常处理。
2 消敌机游戏编写过程记录
分别建8个类,并初始化(主类构造为测试用)
画窗口,使用swing中的Jframe等。
//项目分析
①分析项目内有什么对象
敌机,蜜蜂,子弹,英雄机
②抽取共同特征到父类中
敌机,蜜蜂,子弹,英雄机皆有
x,y坐标,宽,高,图片属性→FlyObject
③抽取部分子类共有行为
蜜蜂有奖励行为,抽取奖励接口
敌机有扣分行为,抽取惩罚接口
子弹无
英雄机亦无
思维漏洞:
① 新建项目后,新建包类命名方式为 域名反写+项目名 ,漏了后者
② 新建构造,方法公开化,属性私有化,在前面加public,应第一时间加上
③ 在主类中新建对象后直接赋值提示报错——不可直接在类体内赋值,可以赋初始值,但具体的必须到构造中赋值
private FlyObject[] fo = new FlyObject[2];
fo[0] = new Bee();//就立刻下面赋值了!?
fo[1] = new Enemy();
④private FlyObject[] fo = new FlyObject[2];→private FlyObject[] fo = {};
⑤
width = image.getWidth();
eight = image.getHeight();
image = ShootGame.bee;
⑥
public void paintBullet(Graphics g){
for(int i = 0;i < bullets.length;i++){
Bullet f = bullets[i];
g.drawImage(f.image,f.x,f.y,null);
}
}
public void paintBee(Graphics g){
g.drawImage(fo[0].image,0,0,null);
}
⑦(复制粘贴注意)蜜蜂,敌机一直显示在下方→height写在x下面,于是默认便是0
⑧x = rand.nextInt(654-this.width); → rand.nextInt(ShootGame.WIDTH-this.width);
⑨思路要一直都极其清晰,每一步应该做什么,应该怎么做脑中的概念都要非常清楚(try...catch...直接放在了外面)
⑩使用random方法获取整数时,必须用nextInt
image = ShootGame.bee;
width = image.getWidth();
eight = image.getHeight();
思维记录
① 写到英雄机图片属性时,想到需要建主类,通过静态区调英雄机图片
② Bee重写获得奖励方法——返回一个奖励类型的数字,因此需要定义typeNum
3 提示需要 insert ; 有可能是什么原因?
变量没有声明类型
| 1 涉及到对文件的处理,必须? | |
| 做异常处理。 | |
| 2 消敌机游戏编写过程记录 | |
| 分别建8个类,并初始化(主类构造为测试用) | |
| 画窗口,使用swing中的Jframe等。 | |
| 在主类中新建各个对象 | |
| 三个父类 | |
| 奖励 飞翔 敌人 | |
| 子类 | |
| 敌机继承飞翔实现敌人,下落速度 | |
| 子弹继承飞翔 | |
| 英雄机 | |
| 蜜蜂 | |
| //项目分析 | |
| ①分析项目内有什么对象 | |
| 敌机,蜜蜂,子弹,英雄机 | |
| ②抽取共同特征到父类中 | |
| 敌机,蜜蜂,子弹,英雄机皆有 | |
| x,y坐标,宽,高,图片属性→FlyObject | |
| ③抽取部分子类共有行为 | |
| 蜜蜂有奖励行为,抽取奖励接口 | |
| 敌机有扣分行为,抽取惩罚接口 | |
| 子弹无 | |
| 英雄机亦无 | |
| 思维漏洞: | |
| ① 新建项目后,新建包类命名方式为 域名反写+项目名 ,漏了后者 | |
| ② 新建构造,方法公开化,属性私有化,在前面加public,应第一时间加上 | |
| ③ 在主类中新建对象后直接赋值提示报错——不可直接在类体内赋值,可以赋初始值,但具体的必须到构造中赋值 | |
| private FlyObject[] fo = new FlyObject[2]; | |
| fo[0] = new Bee();//就立刻下面赋值了!? | |
| fo[1] = new Enemy(); | |
| ④private FlyObject[] fo = new FlyObject[2];→private FlyObject[] fo = {}; | |
| ⑤ | |
| width = image.getWidth(); | |
| eight = image.getHeight(); | |
| image = ShootGame.bee; | |
| ⑥ | |
| public void paintBullet(Graphics g){ | |
| for(int i = 0;i < bullets.length;i++){ | |
| Bullet f = bullets[i]; | |
| g.drawImage(f.image,f.x,f.y,null); | |
| } | |
| } | |
| public void paintBee(Graphics g){ | |
| g.drawImage(fo[0].image,0,0,null); | |
| } | |
| ⑦(复制粘贴注意)蜜蜂,敌机一直显示在下方→height写在x下面,于是默认便是0 | |
| ⑧x = rand.nextInt(654-this.width); → rand.nextInt(ShootGame.WIDTH-this.width); | |
| ⑨思路要一直都极其清晰,每一步应该做什么,应该怎么做脑中的概念都要非常清楚(try...catch...直接放在了外面) | |
| ⑩使用random方法获取整数时,必须用nextInt | |
| image = ShootGame.bee; | |
| width = image.getWidth(); | |
| eight = image.getHeight(); | |
| 思维记录 | |
| ① 写到英雄机图片属性时,想到需要建主类,通过静态区调英雄机图片 | |
| ② Bee重写获得奖励方法——返回一个奖励类型的数字,因此需要定义typeNum | |
| 3 提示需要 insert ; 有可能是什么原因? | |
| 变量没有声明类型 |
标签:获得 tga draw 取整 返回 定义 做什么 getwidth 技能
原文地址:http://www.cnblogs.com/qingji123/p/7376590.html