《飞机⼤战》安卓游戏开发源码(⼀)
前⾔:最近闲来⽆事,⽽且也是因为刚接触安卓不久,所以萌⽣了以后在开发web 项⽬的过程中同样开发安卓⼿游,因前⼀段时间项⽬需要独⽴完成了⼀款功能型⼿机app ,该App⽐较简单,全是按钮操作,也就是Activity之间的相互传值与过渡,所以对安卓的基本知识有了⼀定了解,在我的印象当中,感觉安卓⼿游是⽐ 较困难的,但是有困难就要克服,所以有了开发游戏的念头。
经过两天在⽹上对游戏的资料翻阅,总结起来开发游戏很简单:⽆⾮就是通过surfaceView 、Thread、Runnable来对主UI进⾏更新操作⽽已,呵呵,说⼀句真简单,其实做起来⼯作量挺⼤的,接下来,就⼀天⼀点代码把这个⼩游戏完成。
手机游戏源码论坛⾸先,先把这个⼩游戏的功能放⼀边,因为主要功能就是玩家控制⼀架飞机,在躲避上⽅飞机的同时其全部打掉……
接下来,就是围绕这个功能说⼀下思路(我在纸上把思路画了⼀下,看下⾯的图,然后在解释思路的原因):
因为安卓(java)本⾝这种开发语⾔就是⾯向对象的,所以游戏中的任何东西我们都应该当做⼀个对象处理,通过该图可以很明显知道开发的思路,具体思路如下:
⼀:飞机就是⼀个对象,飞机⼜包括你控制的飞机、敌机;飞机的属性包括:⽣命,所在X坐标、Y坐标,图像,但是在安卓开发过程中,会发现所有的东西 都应该有X和Y 坐标(⽐如说:飞机,⼦弹,障碍物等等),所以应该有⼀个Root对象,该Root对象只有两个属性,就是X\Y
然后,还有⼀个飞机对象,该对象继承Root对象,然后属性包括⽣命,是否发射⼦弹等属性;
⼆:每⼀架飞机在飞⾏过程中,会发射⼦弹,所以每⼀架飞机应该对应着⼀个发射⼦弹的线程;
三:因为当飞机把⼦弹发射之后,⼦弹是独⽴存在的,所以⼦弹也是⼀个对象,继承Root对象,然后⾃⼰的属性包括:是否碰撞,所以要新建⼀个⼦弹对象;
四:⼦弹不会跟着飞机到处跑,⽽是⼦弹会在发射过后,沿着直线飞⾏;所以每⼀个⼦弹对应⼀个单独的线程;所以也要新建⼀个⼦弹线程;
五:⼦弹也会有各种样式,⽐如说:散弹、机光炮等等;
六:因为⼦弹飞⾏过程中,以及飞机飞⾏过程中都会碰到障碍物,所以在碰撞的⼀瞬间应该会有⼀个线程释放出碰撞效果;
七:在飞机飞⾏过程,会随机出现⼀个能量球(加⾎、⼦弹类型),⽽此随机应该是⼀个随机数,⽽且也应该是⼀个线程;
经过以上七⼤步骤,就可以把⼤概的框架搭建起来,⾄于功能⽅⾯,肯定要⼀步⼀步完善。
项⽬结构如下:
飞机⼤战项⽬结构

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。