1、“.....更新英雄更新敌人如果敌人杀光了则进入下关更新地图更新炸弹遍历炸弹集合炸弹人游戏在手机上的实现移除不可用的炸弹更新图层在设计游戏的图层前,首先要思考本游戏到底要绘制多少种图形,再看它们中有哪些摭挡关系。已知地图就包括了地表层与建筑层,再加上炸弹道具角色包括个玩家控制角色和至多个,至少有种图形。地表层在最下面,成为独立层角色作为对象必然各自有自己的图层建筑层因关卡不同会有不同的图片内容,也独成层炸弹道具在每关卡都会用到,而且之间没有摭挡关系,可以考虑合并为层。这就形成了本游戏的图层结构。图游戏图层为了方便地管理所有图层,游戏使用了个对象,通过方法可以给添加要管理的图层对象,并且这些层会按照添加的先后次序层叠起来,最后被加入的图层会被放在最下方。本游戏图层创建过程如下,,炸弹人游戏在手机上的实现添加主角层加入敌人,......”。
2、“.....该类即不是继承自也非,它只实现个炸弹模型,绘图则是通过修改炸弹层兼道具层单元格来实现,所有的炸弹共享同个炸弹层。炸弹有些特有的属性,如可视性位置威力延时放置者及状态,有自身爆炸引爆其它炸弹清除爆炸效果等,下面将逐介绍。创建与回收炸弹由角色施放而产生,随爆炸效果的完成而消失。屏幕上最大炸弹的数目取决于角色数量及各角色的携弹量,屏幕上可能没有个炸弹,也有可能每个单元格都有个炸弹,应该有个适当的容器来存放它们,显然这个容器的大小应该是可变的。炸弹人游戏在手机上的实现里可选的容器类有,本游戏选择了。集合中的元素以方式存在,用来快速查找用于存储对应于的值。当炸弹对象被角色创建后,炸弹的位置作为值与炸弹同被存入。这样做可以让程序可以根据位置获得炸弹,便于炸弹的互相引爆......”。
3、“.....已存在炸弹的单元格将不允许被再次放置炸弹。地面设为不可通过地面加注炸弹属性当炸弹完成爆炸后,它会将自身的属性设置为。在状态机对爆炸进行状态时会检测该属性,发现它为时则将该炸弹从中移除并将其回收。更新炸弹遍历炸弹集合移除不可用的炸弹更新状态炸弹被放置后会在状态机里不停调用方法更新自身的状态。在这个方法中,炸弹首先会对自己的计时进行累加,然后将计时与预先设定的延炸弹人游戏在手机上的实现时相比较,发现计时已经超过延时时则将自身设置为爆炸状态。检测是否要开始爆炸接下来根据炸弹的状态来让炸弹做它应该做的事。首先检测炸弹是不是正常态,正常态下炸弹有个跳动的动画效果,该动画共有帧见图首行,每隔定时间循环切换。切换时机由计时器对取余来产生,帧的切换则由对原帧余加实现。图泡泡与道具层炸弹稳定态动画......”。
4、“.....之所以这样是因为当屏幕上有多个炸弹时,各炸弹的因为创建时间不同,使用产生动画切换会造成跳动节奏的不致,影响视觉效果。而使用作为产生跳动的时钟可以让全屏的炸弹跳动致,效果要生动得多。由于正常态处理中使用了退出方法,接下来的更新只针对于爆炸效果。炸弹爆炸后冲击波将延迟个时间片,检测到已达到个时间片将清除爆炸效果并退出本次更新。炸弹人游戏在手机上的实现是否完成爆炸,清空爆炸效果如果炸弹的状态不属性前两种的话,那此时只可能为爆炸状态,由方法负责状态更新。爆炸效果爆炸炸弹的爆炸方法要进行以下三项工作绘制爆炸效果为爆炸范围的覆盖的所有单元格附加致命属性引爆爆炸范围内的其它炸弹在具体介绍爆炸方法前先要介绍下类的变量,它是炸弹的爆炸计时器,用来记录爆炸开始后经过的时间片,每次方法的调用它都将进行累加......”。
5、“.....方法首先改变爆炸中心的爆炸效果,并将该单元格标为致命。接下来更新个方向上的冲击波,每个方向上都使用循环对爆炸范围内的单元格进行遍历,对可通行的单元格标注为致命并进行冲击波绘制,当发现该方向上单元格无法通行时则通知对象对其进行摧毁并中断循环。,方法会摧毁指定单元格内的建筑,事实上它只是充当了引爆的作用,将建筑由正常帧转换到了半破坏帧。而的方法会检测到它的半破坏状态,并将破坏进行到底。如果指定行列上的建筑不具有可摧毁性或不存在建筑,调用该方法将返回。除了摧毁阻拦的建筑外,爆炸冲击波还将引爆它范围内的所有炸弹,这将交由,来处理。下面是炸弹右方向上冲击波效果的代码实现右方冲击波炸弹人游戏在手机上的实现是否超出边界,超出则不检测如果指定单元格内不存在炸弹,则退出如果指定单元格内存在炸弹......”。
6、“.....是否触发其它炸弹,炸弹引发的过程实现类似于摧毁建筑,只要通知被引爆的炸弹改为爆炸状态就行,该炸弹下次被的时候将自行产生爆炸效果。因为炸弹是逐个进行的,假如引爆的炸弹在本次时间片内还未遍历到的话,它将立刻产生爆炸而假如引爆的炸弹在本周期内已经被遍历过了,爆炸将推迟到下个周期。这种差异会造成内引爆效果的不可预计,但难以被游戏者察觉,可以忽略。清除爆炸效果爆炸完成后需要清除爆炸造成的影响,将炸弹的属性设置为,以使状态机对其自动回收将炸弹设置者的炸弹携带量加去除原炸弹所在的单元格的炸弹属性恢复通行去除冲击波覆盖单元格去的致命属性去除所有炸弹动画帧。与产生爆炸样,对冲击波影响的清除也需要对四个方向进行循环遍历。去除炸弹去除致命炸弹人游戏在手机上的实现恢复通行由于炸弹层与道具层共享,所以当单元格为道具时,不予处理......”。
7、“.....道具建筑被摧毁后,有可能在原地产生个随机道具。函数被用来实现此功能,概率由的字节型数组,用来保存地图布局是个大小为的字节型数组,这两个元素分别保存主角出生的行和列。是个大小为的字节型数组,每两个连续的元素可以用来表示个的出生位置,元素值为则表示不需要该。它满足了同时保存敌人数目和敌人位置的需求。因为不支持文件写入,配置文件的生成须建立个工程来实现。写配置文件的代码如下存储地图数据要保存为的关卡写入地图贴图文件索引写入音乐文件索引写入地图数据炸弹人游戏在手机上的实现次性将整个地图读入维数组中写入英雄出生点写入敌人出生点将数据写出文件这个方法将类的所有属性有依次写入了文件当中,使用十六进制编辑器查看关卡文件很容易找到与属性的对应关系......”。
8、“.....将对应的类型个个读入对象中即可。获取指定关卡地图数据关卡号关卡数据对象未找到对应关卡数据文件则抛出异常读取地图贴图文件索引读取地图贴图文件索引读取地图数据次性将整个地图读入维数组中,读取英雄出生点读取敌人出生点并获得敌人数目炸弹人游戏在手机上的实现图为本游戏中三个关卡的效果,其中第关与第二关是共享资源图片的。图不同关卡效果兼容性设计虽然号称本文开始也提到它的这特性使得在手机平台上迅速推广。但因为手机品牌型号成千上万,想完全,是不可能的,我们只能在开发应用的时候,应可能能的考虑到平台的差异性,将可能发生的不兼容情况减到最少。下而本人对手机平台兼容性设计的些理解屏幕分辨率手机游戏般在开发之前就确定了它的最小分辨率,如果仅针对这特定的分辨率编写代码的话,到测试的时候很可能会发现它在其它大分辨率的机型上绘图惨不忍睹......”。
9、“.....事先就想好在各种分辨率下绘图可能产生的效果,并设计出兼容性方案的话,开发成本会比前者小得多。对于兼容其它分辨率,可以两种办法。是不为所动,只坚持预先设计的布局。例如本游戏,不管设备分辨率多大,只居中显示的游戏画面。另种方法是扩展显示区域,显示更多的内容。对于些卷轴类游戏,这种设计会产生很好的效果,本游戏的毕设信息也采用了这种设计。不管采用上述的哪种方法,都应该采用相对坐标系统来绘图,这是以不变应万变的最佳方法。字体不同手机的字体大小很可能不样,它们的字符集也可能有差异比如诺基亚手机里换行符是不可见的,而索爱手机却能够显示出来。在上绘制文字时应使用来调整文字的行距,使用或来自动调整文字的换行。些情况下也可以考虑用系列图片来替代文字显示,如计分牌。键盘因为很多手机的映射不样,应避免直接使用值来判断按键......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。