写这篇博客目的主要是带大家来写一款安卓的游戏。仿《CrazyBallball》
事情的来龙去脉是这样子的,因为我最近闲的没事,就在网上下载了一款打砖块的安卓小游戏打发时间,名字叫《CrazyBallball》,然后玩上瘾了,算是我玩过的比较好的游戏了。
附两张游戏图片:
因为我是在某歌商店上面下载的,可能国内软件商店下载不到,不过没有关系,我已经保存到百度云上面了。感兴趣的同学可以去我的百度云下载。不用感谢我,都是兄弟,应该的!
下载地址:
接下来我们来看一下如何开发一款这样的游戏!首先是分析,我们需要写什么类,有球球Ball, 小砖块Block ,然后还有玩家控制的小方块RunningBlock.主要就是这三个类了!
其实,Block和RunningBlock有一个相同点,就是小球碰到他们都会反弹!因此,我们再写一个父类Barrier.我们先看代码,再一步一步分析。
public class Barrier { public int x; public int y; public int width; public int height; public Paint paint; public Barrier() { paint = new Paint(); paint.setStrokeWidth(5); paint.setColor(Color.YELLOW); paint.setStyle(Paint.Style.STROKE); } public Barrier(int x, int y, int width, int height) { this.x = x; this.y = y; this.width = width; this.height = height; paint = new Paint(); paint.setStrokeWidth(5); paint.setColor(Color.YELLOW); paint.setStyle(Paint.Style.STROKE); } public void draw(Canvas canvas) { canvas.drawRect(x, y, x + width, y + height, paint); } 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 getWidth() { return width; } public void setWidth(int width) { this.width = width; } public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } public Paint getPaint() { return paint; } public void setPaint(Paint paint) { this.paint = paint; } }
两个不同参数的构造方法,没什么好说的,这里提一下,我们在构造方法中实例化来了一个paint对象。并且设置一些属性
paint = new Paint(); paint.setStrokeWidth(5); paint.setColor(Color.YELLOW); paint.setStyle(Paint.Style.STROKE);
draw()方法。用于绘制我们的小方块,这里传入一个Caves画布。绘制一个方的形状出来。
public void draw(Canvas canvas) { canvas.drawRect(x, y, x + width, y + height, paint); }
Barrier基本上就是这样了。情况就是这么个情况,
有不懂的同学欢迎评论,我会竭尽所能一一回答,另外欢迎关注哦,我会持续更新开发不同的游戏。