unity-学习笔记
最近都在做旧东西,更新场地资源,给场地中的一些物体添加功能(爆炸和人物生命值归0弹出死亡的界面,并且在倒计时之后自动到维修室进行生命值的恢复) 这两个功能看起来都不太麻烦,不过因为都是第一次做所以还是花了一点时间,而且感觉也还是有一些问题存在的 炸弹的功能,我是在炸弹的身上挂了脚本去监控炸弹和人物之间的碰撞然后播放制作好的粒子爆炸特效和音效,同时让炸弹消失,接着给服务器发送消息扣除生命,给人物的材质上一个中毒颜色并且语音提示用户人物受到了伤害 整个流程就是这样,代码就补贴了这个功能实现的还算顺利,就是由于炸弹的位置是提前已经摆放好的,个人感觉按照常理来说应该是通过代码去生成的比较合理不过时间关系就先这样做了 第二个是生命为0时的重生功能 首先需要判断生命值是否等于或者小于0 这里就遇到了一些问题因为有的攻击是连续的,也就是当我生命值为0 的时候,会出现多次调用重生办法的情况,想了一会儿,决定使用playerfes将死亡的状态存储在本地中,第二次的时候发现是已经死了的状态就不调用重生的方法(说来容易,其实想了半天没有想到这个办法)感觉这个可能最好是和服务器关联能比较稳定的保证不出现bug或者隐患(如用户知道这个bug会通过这个去避开一些关卡) 第二个问题就是生命值为0 的这个功能需要的环境比较多,比如人物的状态的脚本,ui的脚本,场地的脚本,语音的脚本等 还需要制作一个显示重生进度的进度条和一些小特效以及音效 简单来说就是脚本之间的关联变得比之前复杂了,加上之前没有很好的去思考有关ui阻碍的条件,导致在同时调用了这么多脚本的时候,会有些变量之间相互影响导致一些小bug,如在语音的脚本里我设置了在播放语音的时候ui是不能动的,当播放完毕之后ui恢复,而在重生功能里需要倒计时和语音播放提示用户人物死亡,重生倒计时时ui不能动,语音播放的时候不能动这些没问题,就是在语音播放完之后,重生的倒计时还没结束,但是语音的脚本里设置了播放完毕之后就会恢复ui,导致了在重生的时候倒计时到一半就能操控人物接着移动了,这显然是不行的 目前我的解决办法就是先关闭了语音播放里控制ui状态的代码 因为语音脚本里对应的方法时间不是很长,所以不会对整体的体验有太大的影响,但是这个也说明了对功能没有整体的把控去实现功能出现的问题会比较麻烦 加油吧 明天实现一个简单的npc对话文字显示的功能,加上把动画师做好的二阶段的人物动画模型接入到项目里 以及把表情和图灵接口回传的表情id做一个联动 后面还有的工作我看看:面罩的材质,估计还要更新一次场地资源(现在打包出来已经200m了) 学习aesShadergragh的全屏特效制作应用到项目里 合并;同事代码 整体打包和原生app对接融合
|