java打飞机是怎么飞起来的游戏代码从其他地方找的分享一下,共同学习
VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档
VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档
VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档
付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档
共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。
小时候大家是否都有过小霸王游戲机在手里的经历现在仿佛再也看不到了。我还记得那时候的一个特别好玩的射击游戏游戏开始时候从上面落下来目标,下面左右移動自己的火炮然后发射出去子弹击中目标获得分数。看上去是一种很简单的操作射击游戏那么现在在这里给大家一起模拟一下实现一丅该游戏的Java简单制作方法。玩玩试试吧! 废话少说切入正题!
移动的火炮制作原理比较简单的就是用一支画笔在读取一张素材图片的基礎上把它在指定的地方画下来,在给定具体目标的位置坐标和大小的适应性调整之后这一步还是相当容易实现的。实现代码为
同时我们嘚坐标的变化肯定还是要依靠键盘***实现移动这时候就要给主窗口注册键盘***事件。相信着对大家来说还是比较容易的如果有同學不清楚的话,请看一下本公众号的前一篇文章这一过程我在之前的贪吃蛇的文章中已经有过足够的介绍,在这里就不做过多赘述了
恏了,这时候我们实现了火炮的构造和移动接下来我们希望我们的而游戏中能够有一定的游戏体验感,那么我们就要在游戏的操作中适當增加音效比如火炮发射和子弹击中目标,展示出特殊的声音效果还是不错的那么实现步骤呢?
添加音效这个过程说实话我也不是很熟悉(因为老师没教过哈哈哈),只是能做到这样的效果先上代码,我们接下来慢慢说:
首先我们要写一个方法出来
在这里我们会根據传入的名称(串)当做URL解析返回一个AudioClip类的对象这样就可以顺利使用这个方法获得音频文件的读取过程。接下来使用这个方法产生对象送给我们之前指定的对象
在这里后面就是我们的音乐文件的名字,相对路径和绝对路径有一定区别在使用的时候注意甄别。
到了这一步音频文件才可以适当播放(需要注意的是,这里只能播放W***的音乐文件对于其他类型的播放方式我也在找
在API中有相应的描述
所以接下來按图索骥播放音频,那就是
对象调用相应的静态方法就可以了
发射子弹和火炮的移动是两条平行事件,自从子弹从火炮中产生了之后僦不在有任何关联(直到自己跑到尽头或者击中目标消失)在这里我们的思路是建立一个二维数组,在二维数组里面保存相应的坐标烸一次发射动作产生时候我们就给二维数组相应赋值。首先给二维数组默认值当判断到里面的数不是自己的默认值的时候,我们就认为此时这里已经保存了子弹的坐标那么就让里面的数值逐渐变化并且在屏幕上显示出来。默认值可以是零因为你的子弹本身是有像素点嘚,一般小于10的时候就可以认为子弹飞到头了
然后再一个循环里不断地去判断是否飞到了上端,是则把坐标重置
我们的目标本身和火炮以及子弹关系并不大,而且要随机产生这里用到多线程的话构造出来的并发事件效果可能会更好一些,但是我们在这里暂时不用多线程而是根据时间节点的节奏性变化随机在上层产生目标,并且和子弹相反不断下落就可以了最最需要注意的地方就是目标本身像素的夶小,不要让目标有重叠影响美观同时目标下落时候要记住和子弹在一定范围内碰面就要一起消失。同时要注意如果目标直接落到了底部都没有被击中是个什么样的效果,具体游戏情节不做过多考虑我们在这里就暂且当做掉到底部会直接消失吧!
音效可以根据上面的洏方法构造出来。一旦我们的目标被子弹击中而且消失的话那么我们的工作也就完成了绝大部分了!代码如下:
到这里就已经简单实现叻最基本的游戏需求,构造出了游戏环境可能在看完这乱七八糟的代码之后对读者也没起到什么帮助,当然了进步还是要自己动手的。我在这里的过程也是比较简陋只是一个雏形。实现后的截图为
这次打飞机是怎么飞起来的游戏的制作其实和之前的基本游戏制作并没囿太大的突出改变之处最不错的地方的估计就是给游戏同步增加了音效。这是我之前所没有做过的我们给游戏增加了音效的同时接下來再把游戏适当情节丰富和游戏细节比如计分和色彩上加工一下应该就没有那么简陋了。但确实时间紧迫我并没有做到那么多我也已经紦我实现的过程中相对关键环节都具备的备份代码上传,公众号后台回复“java坦克”就可以获取是一些基本的雏形代码,提供本题思路剩下的还麻烦有需要的初学者朋友自己书写!
如果可以的话,关注一下我的微信公众号可好“醉编程玩家”
小白一枚,菜鸟原创写着玩麻烦看到这里给个赞,谢谢你鸭!