1、“.....当这两种模式之通关之后要对玩家开放无尽模式,同时,常规模式和夜晚模式将不对玩家开放。无尽模式通过判断,不成立点击无尽模式不能进入游戏。在无尽模式中没有关卡概念,只有玩家得分,分数根据消灭僵尸而增加。定义全局变量,在类函数中当游戏状态为无尽模式时显示得分,将游戏胜利条件改为在常规模式或者在夜晚模式时僵尸碰到植物停止当吃掉植物后继续前进实现僵尸碰到植物停止前进,当吃掉植物后继续前进功能。在类中定义布尔变量表示僵尸是否移动并初始化为长整型变量记录僵尸碰撞植物瞬间系统时间戳,并设置两个成员变量,属性。在僵尸横向移动代码上添加条件语句只有为真时僵尸向左移动。在类中碰撞函数检测到僵尸与植物相遇时,如果僵尸处于移动状态,使其停止前进,将这刻系统时间戳使用记录。当僵尸处于静止状态并且该僵尸停留时间超过时,将植物赋值为假,并且把僵尸移动状态改为真。调试吃掉植物后僵尸不前进运行游戏发现僵尸遇到植物后停下,之后植物消失,但此时僵尸同样停止不动。在代码中添加检测,代码根本不按照预想路线走。在个地方执行很多遍,这段代码预计只有碰撞之后才执行遍,但实际情况是碰撞之后多次执行碰撞函数......”。
2、“.....那么只能是其他隐藏条件的问题。僵尸停止超过将植物赋值为假,植物从屏幕消失,紧接着僵尸移动状态被赋值为真这里使用检测到已被赋值为真,但是僵尸并没有移动,说明又被赋值为假,也就是说已经从屏幕消失的植物又和僵尸发生碰撞,那么该植物根本就没有消失,它还在原地,只是处于隐身状态,想到这里真相大白,在将其从屏幕移除时应该紧接着将该植物掉这里是调用函数,这样调用会造成程序异常。碰撞超过植物消失,僵尸继续前进。该问题解决。僵尸生命值丢失异常将僵尸生命值设置为,每次被炮弹击中次生命减少,当生命减少到时,僵尸死亡,将其设置为,在碰撞检测函数中当碰撞次时通过但是运行效果是僵尸碰到发炮弹后直接消失,根本就没有出现被发炮弹命中之后才消失的效果。经过分析,肯定是判断碰撞之后对僵尸生命值进行了大于或者等于次的减操作,但为什么执行了这么多次减操作开始没有想明白,无计可施之下只好把僵尸的生命值设为,看是否还会出现这种情况,果然,在僵尸被炮弹击中次并且吃了豌豆射手之后都没有被消灭。在将其生命值设置为时,有的僵尸被击中次死亡,有的僵尸被击中次以上都没有死亡。最后想明白这个问题与僵尸吃掉植物不前进及其相似......”。
3、“.....按照同样方法处理该消失。异常添加植物当鼠标左键时出现异常,初步分析为时程序正在执行函数,因为不能在对个进行遍历的时候将其中的元素删除掉。在碰撞函数中将只必要的碰撞对象,不需要对所有进行遍历就是对所有遍历以掉不需要的对象。将每层与独立出来新的方法,在需要对象的地方分别调用上述方法。游戏正常结束后重新进入游戏直接失败游戏失败能正常结束,在结束状态点击屏幕能够出现预期效果并且转换到主菜单,但是当再次点击常规模式重新开始游戏后游戏直接进入失败状态,这里是因为僵尸超过屏幕左边界后并没有将其掉而导致这种情况。所以还要在判断游戏结束后将该僵尸掉。说到这里就不得不说个很重要的问题,重新开始游戏后画面必然还有上次游戏添加的植物等,也就是说还处于上次游戏的状态,所以这里要初始化游戏,由于游戏所有操作都是在类中进行的,因此只需要重新个对象就行,但是考虑到中已经有个函数,其中就是对游戏进行初始化的,这里调用该函数后把游戏状态赋值为。只是要把修改为。异常添加夜晚模式背景图片,在类中设置如果游戏模式为夜晚模式则加载夜晚背景,运行游戏后发现异常,上网搜索说系统限制,只给图片分配兆的内存,超过就崩......”。
4、“.....在选项中,有项,将该项的值增大为,运行后还是不行,查看夜晚模式背景图片达到之大,将其压缩到后运行程序,首次运行程序正常,在点击模拟器屏幕返回按钮后再次运行程序继续报相同异常,估计是内存不够使用。发现只要是退出系统执行了第二次游戏后就不会出现异常,所以在所有界面还需增加函数对用户点击返回键进行处理。用户触发事件后如果游戏处于以下状态时,对游戏初始化后游戏状态转到。如果在时,调用退出程序以释放资源。但是方法不起作用,原来监听函数并没有在监听,原因在于没有设置当前获取焦点。所谓给当前设置焦点,其实就是告诉系统,现在这个视图需要与用户交互,让系统来监听此视图。在当前自定义的类构造函数中调用来监听按键事件,用来监听触屏事件。不显示奖励第二关后如果玩家退出游戏到主菜单然后接着点击常规模式游戏,仍然在第二关,这不是,因为游戏就是这么设置的,但是第二关的奖励并没有显示到种子栏目之中,当玩家接着通过第二关进入第三关后第三关奖励显示,第二关奖励仍然没有显示。原来把判断是否给出奖励代码紧挨着这导致若果没有到达下关则不能把奖励属性赋值为真,当然就看不到奖励......”。
5、“.....这要把之前得到的奖励显示,因此在类中的方法中判断现在所在的关卡之后还要把之前得到的奖励并显示。总结毕业设计经过这么长的时间终于要完成了,虽然这个过程中有过茫然甚至不知所措,但还是通过各种方式解决掉了其中的难题,从中学到的专业知识让我成长不少。这次毕业设计我选的题目是版植物大战僵尸,近来移动终端设备已经成了人们生活的部分,而系统的手机几乎可以说和每个人形影不离。在上学期末选择了这个题目之后,我开始整理思路并做了充分的准备,比如收集毕业设计要使用到图片素材,收集相关资料,学习相关技术等。在设计初期,设计了很多方案,却无从下手,咎其原因还是技术不够,在图书馆找到很多书籍,作者都会有自己独到的见解,这也给了我灵感。从处理图片到编写代码,过程中遇到不少问题,虽然有个个直接或间接解决了,但是从运行效率来看还是有些问题,比如在设计中为了方便调试,很多需要修改的变量都设成了全局变量,这就占用了定内存,造成内存的浪费,考虑到现在手机设备硬件条件较好,没有对其进行处理。但运行时程序不需要的元素还是及时的释放掉,以免运行时间稍长后死机。还有软件的适应性不够强,这与找到图片素材有关......”。
6、“.....数字仿真的条件是时,即模拟系统的最高频率,其中是抽样周期。第六章数字滤波器的设计脉冲响应不变法变换原理脉冲响应不变变换法又称为标准变换法。它是保证从模拟滤波器变换所得的数字滤波器的单位取样响应是相应的模拟滤波器的单位脉冲响应的等间隔取样值,即这为取样周期。的拉氏变换为的变换即为数字滤波器的系统函数。变换和拉氏变换之间的关系可知即时域的取样,使连续时间信号的拉氏变换在平面上沿虚轴周期延拓,然后再经过的映射关系,将映射到平面上,即得。第三章讨论的映射关系表明平面上每宽为的条带,都将重叠地映射到整个平面上。而每条带的左半部分映射在平面单位圆以内,条带的右半部分映射到单位圆外。平面的虚轴映射到单位圆上,但是轴上的每段的虚轴,都对应于绕单位圆周。所以按照脉冲响应不变变换法,从平面到平面的映射不是单值关系,千万不可地认为经过的简单代数变换即可由得到。这里除了这变换之外,还同时含有将以为周期对作周期延拓的过程。脉冲响应不变变换法平面与平面的映射关系如图所示......”。
7、“.....如果模拟滤波器的频响是限带于折叠频率之内的,即,图脉冲响应不变法平面与平面关系这时才使数字滤波器的频率响应在折叠频率以内,重现模拟滤波器的频率响应而不产生混叠失真。但是任何实际的模拟滤波器,都不是带宽绝对有限的,因此,通过脉冲响应不变变换法所得的数字滤波器就不可避免地要出现频谱的混叠失真,如图所示。图脉冲响应不变法中的频率混叠现象只有当模拟滤波器频响在折叠频率以上衰减很大,混叠失真很小时,采用脉冲响应不变法设计的数字滤波器才能满足精度的要求。应该注意,在设计中,当滤波器的指标用数字域频率给定时,不能用减小的办法解决混叠问题。如设计截止频率为的低通滤波器,则要求相应模拟滤波器的截止频率为,减小时,只有让同倍数的增大,才能保证给定的不变。减小使带域,加宽了,但也同倍数加宽,所以如果在带域,外有非零的值,即,则不论如何减小,由于与成同样倍数变化,总还是,不能解决混叠问题。双线性变换法变换原理双线性变换法是使数字滤波器的频率响应与模拟滤波器的频率响应相似的种变换方法......”。
8、“.....我们首先把整个平面压缩变换到中介的平面的横带里宽度为,即从到,然后再通过上面讨论过的标准变换关系将此横带变换到整个平面上去,这样就使平面与平面是对应的关系,消除了多值变换性,也就消除了频谱混叠现象,基本原理如图所示。图双线性变换法的映射关系将平面整个平面压缩到平面的到,可采用以下的变换关系其中为常数这样变为,变为,可将上式写成令,,则可得再将平面通过以下标了将游戏初始化,当这两种模式之通关之后要对玩家开放无尽模式,同时,常规模式和夜晚模式将不对玩家开放。无尽模式通过判断,不成立点击无尽模式不能进入游戏。在无尽模式中没有关卡概念,只有玩家得分,分数根据消灭僵尸而增加。定义全局变量,在类函数中当游戏状态为无尽模式时显示得分,将游戏胜利条件改为在常规模式或者在夜晚模式时僵尸碰到植物停止当吃掉植物后继续前进实现僵尸碰到植物停止前进,当吃掉植物后继续前进功能。在类中定义布尔变量表示僵尸是否移动并初始化为长整型变量记录僵尸碰撞植物瞬间系统时间戳......”。
9、“.....属性。在僵尸横向移动代码上添加条件语句只有为真时僵尸向左移动。在类中碰撞函数检测到僵尸与植物相遇时,如果僵尸处于移动状态,使其停止前进,将这刻系统时间戳使用记录。当僵尸处于静止状态并且该僵尸停留时间超过时,将植物赋值为假,并且把僵尸移动状态改为真。调试吃掉植物后僵尸不前进运行游戏发现僵尸遇到植物后停下,之后植物消失,但此时僵尸同样停止不动。在代码中添加检测,代码根本不按照预想路线走。在个地方执行很多遍,这段代码预计只有碰撞之后才执行遍,但实际情况是碰撞之后多次执行碰撞函数,碰撞条件自身是不可能错的,那么只能是其他隐藏条件的问题。僵尸停止超过将植物赋值为假,植物从屏幕消失,紧接着僵尸移动状态被赋值为真这里使用检测到已被赋值为真,但是僵尸并没有移动,说明又被赋值为假,也就是说已经从屏幕消失的植物又和僵尸发生碰撞,那么该植物根本就没有消失,它还在原地,只是处于隐身状态,想到这里真相大白,在将其从屏幕移除时应该紧接着将该植物掉这里是调用函数,这样调用会造成程序异常。碰撞超过植物消失,僵尸继续前进。该问题解决。僵尸生命值丢失异常将僵尸生命值设置为,每次被炮弹击中次生命减少......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。