欢迎来到天天文库
浏览记录
ID:39891002
大小:442.50 KB
页数:8页
时间:2019-07-14
《Unity3D 游戏开发之提示栏的工作实现详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Unity3D游戏开发之提示栏的工作实现详解欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。昨天把GUI做了点出来,攻击之类差不多算是正常了。不过,现在无论是人物还是敌人,在生命为零的时候都不会再有其后的结果了。生命为零,理应死掉了才对。那么今天就先完成这一点吧,文章出处【狗刨学习网】。打开编辑器,在_Script文件夹下双击打开PlayerControl脚本,首先来完善玩家角色的死亡。在“判断”标签中,定义一个用于判断玩家是否死掉了
2、的bool变量:privateboolm_isDead=false;//是否死亡然后在先前定义的GetStat函数最后加上一句判断玩家是否死掉了的语句:if(m_currentLife==0){m_animation["Death"].wrapMode=WrapMode.ClampForever;m_animation.CrossFade("Death");m_isDead=true;}在这里判断当前生命是否为零,如果为零,首先将死亡的动画状态设定为只播放一次,然后播放死亡的动画。并同时把m_isDead设定为True。最后还要在Update函数中加上这样一句:if(!m_isDead
3、){Attack();Move();}这时用于判断人物死亡后,就不给玩家控制人物了。现在回到编辑器中运行游戏,当玩家生命为零,就死掉了,再也无法做什么了…..======================================================玩家的死亡解决了,接下来是敌人的。打开Enemy脚本,在Update函数中,加上一句判断敌人是否死亡的语句:if(!m_changeState.m_isDead){}案后将Update函数中的所有函数啊、语句什么的全都移动到这个判断语句中,然后再后边的GetState函数中进行死亡动画的播放:voidGetState(){m
4、_currentLife=m_changeState.m_life;if(m_currentLife==0){m_animation[m_animationDeath].wrapMode=WrapMode.ClampForever;m_animation.CrossFade(m_animationDeath);Destroy(m_transform.rigidbody);m_transform.collider.isTrigger=true;}}这里就是判断敌人生命是否为零。为零就播放一次死亡动画,并将碰撞器的isTrigger设置为True(这时为了以后计算敌人死亡后会留下什么宝物准
5、备的),并将rigidbody毁掉,免得敌人“哗”地一下,就掉得不见了。运行游戏,查看一下效果。不出所料的话,应该是没问题了。不过,这里有那么点问题。前面我将在Update函数中调用的GetState函数放在了判断敌人是否在Idle状态的else语句里面了,也就是说,这样一来,如果敌人处于idle状态,就不会发生生命值同步了,那么敌人就不会减生命了…这里只需要把GetState函数移动到if(!m_isDead){}前面就行了。如图:接下来。我觉得应该先把下边那个提示栏弄出点东西来,不然老那么光秃秃的也不好看。现目前能有什么提示信息呢?大概是生命减少之类的了吧。这个我就使用富文本了,节
6、约、美观。界面的布局的最后效果就是这样的了:首先,点击提示栏,新建一个富文本框,就像如图中那般大小即可,将Anchor全都勾选,然后随便打几个字以作实验。同时在它的旁边再新建一个ScrollBar在Anchor中勾选Right、Top和Bottom,在这个ScrollBar中再新建两个Sliced,分别命名为Thumb和Track,都是将Anchor中的勾选完了的。选择好两个Sliced的背景,将Track缩放至ScrollBar一样大小,而Thumb的宽跟Track一样,高则取一个合适的值即可。最后将这两个Sliced分别拖放给ScrollBar的Thumb和Track(要选择Scr
7、ollBar的形式为Verticle),再勾选富文本框里面的AllowScroll,将前面做好的ScrollBar拖给他,就完成了。这里为了美观起见,我还新建了一个Sliced作为富文本框的背景,就是这样!运行游戏,东西差不多都没问题,只是符文本框在拖动的时候,太过于缓慢了,想要快一点的话,就还要改一改ScrollBar中的Increment,改成20就比较快了:如果光有这些的话,当然不行。他还必须得实时显示游戏中的数据才可以。所以下面,继续写
此文档下载收益归作者所有