- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
桌面弹球游戏总结
桌面弹球游戏制作总结
1 创建游戏对象
本人在做这个游戏时,没有完全按照书上的做法来做,相反的是我根据以前做过的坦克大战游戏思路对类的具体实现及其设计做了很大的改动并纠正书上明显的错误之处,有幸的是游戏可以运行,不免小小激动了一下,但当挡板吃掉道具时还有一部分小问题,就是当吃了道具以后变长,当在吃另一个变长的道具是就没有反应,问题是由于在处理道具的时候增加了一条if判断语句,但是本人改了半天仍然没有的到完好的实现,所以就到此作罢。当然,除了书上所说
用时间控制器来控制画板的重画之外,在这里我个人又用了多线程的方法,让线程睡眠100ms绘画一次,同样实现了游戏的功能
在这个游戏中,有挡板(Stick))))public class BallComponent {
//imagePath为图片文件路径
public BallComponent(String imagePath,int x,int y) throws IOException{
// 读取图片
this.image = ImageIO.read(new File(imagePath));
// 设置x y 坐标
this.x = x;
this.y = y;
}
//得到图片
public Image getImage() {
return image;
}
// 得到横坐标
public int getX() {
return x;
}
// 设置横坐标
public void setX(int x) {
this.x = x;
}
// 得到纵坐标
public int getY() {
return y;
}
// 设置纵坐标
public void setY(int y) {
this.y = y;
}
// 获得运动的速度
public int getSpeed() {
return speed;
}
private Image image = null;
private int speed = 5;
private int x = -1;
private int y = -1;
}
弹球类(Ball)Ball是BallComponent的子类,由于小球在运动的时候除了横竖方向上的运动,还有各个角度的斜方向,所以在此把小球的速度分解成横向速度SpeedX和竖向速度SpeedY。也就是说Ball类提供了SpeedX和SpeedY属性,此外游戏开始时,小球处于静止状态(也可以说是死亡状态),所以用一个布尔变量started来表示小球是否开始运动,初始值为false(当然在做游戏时,我沿用的坦克大战里面的思路定义的是isLife,来判断是否活着)。游戏结束后,小球也是处于静止状态,但是不能移动,同样再定义一个布尔变量stop属性来标识小球能否在移动。当然仍然为这些属性定义了相应的getter,setter方法
同时为该类提供一个构造器,所以其代码如下:
public class BallComponent {
// public BallComponent(int panelWidth,int panelHeight,String imagePath) throws IOException {
// this.image = ImageIO.read(new File(imagePath));//读取图片
// //设置x坐标,在这里是把图片设置到画板中间的位置
// this.x =(int)( panelWidth - image.getWidth(null))/2;
// }
// //用图片来构造一个BallComponent
// public BallComponent(String imagePath) throws IOException{
//// 读取图片
// image = ImageIO.read(new File(imagePath));
// }
public BallComponent(String imagePath,int x,int y) throws IOException{
// 读取图片
this.image = ImageIO.read(new File(imagePath));
// 设置x y 坐标
this.x = x;
this.y = y;
}
//得到图片
public Image getImage() {
return image;
}
// 得到横坐标
public int
文档评论(0)