当前位置: 首页 > news >正文

裕华建设集团网站徐州哪家公司做网站水平好

裕华建设集团网站,徐州哪家公司做网站水平好,网站建设事宜,wordpress SEO模大家好。欢迎大家关注由我为大家带来的Unity3D游戏开发系列文章#xff0c;我的博客地址为#xff1a;http://blog.csdn.net/qinyuanpei。在上一篇文章中#xff0c;我们基本上实现了一个小地图的功能#xff0c;今天呢#xff0c;我们来实现怪物AI#xff0c;所谓怪物AI… 大家好。欢迎大家关注由我为大家带来的Unity3D游戏开发系列文章我的博客地址为http://blog.csdn.net/qinyuanpei。        在上一篇文章中我们基本上实现了一个小地图的功能今天呢我们来实现怪物AI所谓怪物AI就是指我们为怪物编写一定的算法。使其能够具备一定程度的智能化以增强游戏的可玩性。在一般的RPG游戏中怪物通常在一个游戏设定的范围内巡逻。当玩家进入怪物的警戒范围时怪物就会由巡逻状态转变为攻击状态向玩家进行攻击那么我们今天就来实现一个简单的怪物AI吧以下我们一起来看代码 [csharp] view plaincopyprint? using UnityEngine;   using System.Collections;      public class AI : MonoBehaviour {          //定义怪物的四种状态站立、行走、奔跑、无所事事       public const int STATE_STAND0;       public const int STATE_WALK1;       public const int STATE_RUN2;              //怪物当前状态       private int NowState;       //游戏角色       public GameObject Hero;       //怪物思考时间       public const int AI_THINK_TIME2;       //触发怪物攻击的临界距离       public const int AI_ATTACT_DISTANCE10;              //上一次思考的时间       private float LastThinkTime;              void Start ()        {                  }              void Update ()        {          //当敌人与怪物间的距离小于攻击范围半径的时候          if(Vector3.Distance(transform.position,Hero.transform.position)AI_ATTACT_DISTANCE)          {             //敌人開始奔跑             this.GetComponentAnimation().Play(run);             //敌人进入奔跑状态             NowStateSTATE_RUN;             //使敌人面向角色             transform.LookAt(Hero.transform);             //向玩家靠近             transform.Translate(Vector3.forward*Time.deltaTime * 5);          }else          {             //当当前时间与上一次思考时间的差值大于怪物的思考时间时怪物開始思考             if(Time.time-LastThinkTimeAI_THINK_TIME)             {                //開始思考                LastThinkTimeTime.time;                //获取0-3之间的随机数字                int RndRandom.Range(0,2);                      //依据随机数值为怪物赋予不同的状态行为                switch(Rnd)                {                   case 0:                   //站立状态                   this.GetComponentAnimation().Play(idle);                   NowStateSTATE_STAND;                   break;                                      case 1:                   //行走状态                   //使怪物旋转以完毕行走动作                   Quaternion mRotationQuaternion.Euler(0,Random.Range(1,5)*90,0);                   transform.rotationQuaternion.Slerp(transform.rotation,mRotation,Time.deltaTime*1000);                   //播放动画                   this.GetComponentAnimation().Play(walk);                   //改变位置                   transform.Translate(Vector3.forward*Time.deltaTime * 3);                   NowStateSTATE_WALK;                   break;                                     case 2:                   //奔跑状态                   this.GetComponentAnimation().Play(run);                   transform.Translate(Vector3.forward*Time.deltaTime * 5);                   NowStateSTATE_RUN;                   break;                }              }          }       }   }             在上面的代码中能够触发怪物状态发生变化的有两个条件第一是玩家进入了怪物的警范围。此时怪物将面向玩家奔跑靠近第二当前时间与怪物上一次思考的时间之差大于怪物的思考时间此时怪物将随机作出反应。           好。以下我们回到游戏界面其中来。         如图博主事先从官方资源商店里下载了一个人物模型。在这个模型中设计者已经为我们设计好了人物动画我们将这个模型拖放到场景中调整到合适的位置。并将人物默认动画设置为idle。以下我们将刚才写好的脚本拖放到此模型上并设置Hero为我们的玩家对象在这里我们使用了官方提供的第三人称角色控制器组件终于实现的效果例如以下        能够看到在不同的时刻。怪物能够自己运行不同的状态动作当玩家靠近怪物的时候。会被敌人追击这就是今天的内容啦谢谢大家 转载原文出处 转载于:https://www.cnblogs.com/mqxnongmin/p/10800022.html
http://www.pierceye.com/news/573322/

相关文章:

  • 那种网站打不开北京网站建设找华网天下
  • 网站建设seo优化浙江网站名称怎么收录
  • 天津网站制作工具想自己做网站 有免费的吗
  • 宝塔织梦网站建设求网站备案照片
  • 聊城住房和城乡建设厅网站研发项目管理软件
  • 国投集团网站开发杭州网站界面设计
  • 做关于什么的网站莆田网站建设解决方案
  • 湖南长沙做网站那些网站可以做反链
  • 成都金牛网站建设公司高端网站配色
  • 做喜报的网站设计师的工作内容
  • 济南网站建设工作wordpress 资讯
  • 网站调用数据库平台公司名单
  • 移动网站怎么做成都设计公司名字
  • 杭州最好的网站设计公司服务器域名解析
  • 做试用网站的原理塘沽网吧开门了吗
  • 网站域名的作用古典网站源码
  • 做直播网站软件有哪些软件涿州网站建设有限公司
  • 易托管建站工具wordpress多个single
  • 建一个电影网站多大 数据库半厘米wordpress
  • 住房和建设厅网站首页网站源码怎么写
  • 宁波新亚建设公司网站简单网站建设
  • 做网站没赚到钱网站后台地址忘记了
  • 备案网站公共查询安阳县
  • wordpress 超级管理员seo优化网络公司
  • 商务推广网站宝塔做网站
  • 我想建一个网站怎么建python做的大型网站
  • 为网站设计手机版wordpress怎样比较安全
  • 网站优化方式重庆建设网站哪家专业
  • php做网站基本流程旅游网站论文
  • 网站前期准备网页制作需要学多久