Unity3D 游戏开发之提示栏的工作实现详解.doc
上传人:qw****27 上传时间:2024-09-11 格式:DOC 页数:8 大小:442KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Unity3D 游戏开发之提示栏的工作实现详解.doc

Unity3D游戏开发之提示栏的工作实现详解.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Unity3D游戏开发之提示栏的工作实现详解欢迎来到HYPERLINK"http://www.gopedu.com/"unity学习、HYPERLINK"http://www.gopedu.com/page/unity3d"unity培训、HYPERLINK"http://www.gopedu.com/"unity企业培训教育专区,这里有很多HYPERLINK"http://www.gopedu.com/article/category/zyfx"U3D资源、HYPERLINK"http://www.gopedu.com/course/explore/U3D"U3D培训视频、HYPERLINK"http://www.gopedu.com/article/category/jspx"U3D教程、HYPERLINK"http://www.gopedu.com/article/category/cjwt"U3D常见问题、HYPERLINK"http://www.gopedu.com/article/category/xmym"U3D项目源码,我们致力于打造业内HYPERLINK"http://www.gopedu.com/"unity3d培训、学习第一品牌。昨天把GUI做了点出来,攻击之类差不多算是正常了。不过,现在无论是人物还是敌人,在生命为零的时候都不会再有其后的结果了。生命为零,理应死掉了才对。那么今天就先完成这一点吧,文章出处【狗刨学习网】。打开编辑器,在_Script文件夹下双击打开PlayerControl脚本,首先来完善玩家角色的死亡。在“判断”标签中,定义一个用于判断玩家是否死掉了的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){Attack();Move();}这时用于判断人物死亡后,就不给玩家控制人物了。现在回到编辑器中运行游戏,当玩家生命为零,就死掉了,再也无法做什么了…..======================================================玩家的死亡解决了,接下来是敌人的。打开Enemy脚本,在Update函数中,加上一句判断敌人是否死亡的语句:if(!m_changeState.m_isDead){}案后将Update函数中的所有函数啊、语句什么的全都移动到这个判断语句中,然后再后边的GetState函数中进行死亡动画的播放:voidGetState(){m_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(这时为了以后计算敌人死亡后会留下什么宝物准备的),并将rigidbody毁掉,免得敌人“哗”地一下,就掉得不见了。运行游戏,查看一下效果。不出所料的话,应该是没问题了。不过,这里有那么点问题。前面我将在Update函数中调用的GetState函数放在了判断敌人是否在Idle状态的else语句里面了,也就是说,这样一来,如果敌人处于idle状态,就不会发生生命值同步了,那么敌人就不会减生命了…这里只需要把GetState函数移动到if(!m_isDead){}前面就行了。如图:接下来。我觉得应该先把下边那个提示栏弄出点东西来,不然老那么光秃秃的也不好看。现目前能有什么提示信息呢?大概是生命减少之类的了吧。这个我就使用富文本了,节约、美观。界面的布局的最后效果就是这样的了:首先,点击提示栏,新建一个富文本框,就像如