AI 人工智能 探索 (六)
这次我为 角色 attribute 添加了 多个属性
其中 att 是 好人 坏人 等属性, 显然 数字不同 就要打起来。
grade 是智商属性 ,今天先做了 3的智商。也就是小兵智商。碰到就打 逃也要追着打
distance 是 可攻击距离 ,如果两个物体超过了 这个距离 就继续移动 小于这个距离就打
其他三个不解释,都能理解
private Transform otherTransforms;//碰撞对方
private bool track = true;//是否 可以 追踪
private bool continued = true;//是否持续
//根据智商等级 来控制 角色做哪些事情
void OnGradeIQ(int i, float distance,Transform otherTransform)//智商等级 距离 对方
{
if (this.transform.GetComponent<Attribute>().distance > distance)//范围在 攻击距离中,不用继续追踪
{
this.transform.GetComponent<SteeringAgentComponent>().m_maxSpeed = ;
//可以攻击,提交给update 发射
//速度变零
track = false;
continued = true;
otherTransforms = otherTransform;
}
else {
track = true;
} if (track && continued)//如果可以追踪
{
continued = false;//移动
//速度恢复
this.transform.GetComponent<SteeringAgentComponent>().m_maxSpeed = ;
switch (i)
{
case : break;
case : break;
case : break;
case :
//智商级别三,小兵级别。敌不动 我不动,敌若动,我死磕
//寻找 对方 坐标
this.transform.GetComponent<Interaction_Patrol>().m_patrolNodes[] = otherTransform.gameObject ;
this.transform.GetComponent<Interaction_Patrol>().OnStopFind(); break;
case : break;
case : break;
default: break;
}
}
}
还是昨天的补充,智商三 意思就是,两个角色距离没到distance,智商是3 就开始 跟踪,
//可以攻击
if (track == false && continued == true)
{
xx += Time.deltaTime;
if (xx>)
{
xx = ;
Transform transforms = Spawner("daodan");//导弹
transforms.GetComponent<Missile>().OnPosition(this.transform, otherTransforms);
}
}
update 下 我简单的 测试下,也就是说 上一段代码符合攻击,那么就 开始射击,没有做血逻辑,先面板中调试ok
先创建一个 按照 固定点走
然后第二个 也是按这个点走,因为他们离得比较远
他们近了,他们改变行走路向 目标对方
他们继续 靠近对方 为了到达 可以 射击的 距离
射击!!! 怎么样,有意思吧。下一节 继续补充 其他 智商的 ai。
AI 人工智能 探索 (六)的更多相关文章
- AI 人工智能 探索 (四)
在写之前,先对昨天寻路插件再做一些补充,因为该插件不是很完善,所以当我发现有不能满足需求的时候,就会试图更改源代码,或增加接口来符合我的需求. 昨天补充了一条是 自身转向代码,今天补充另外一条,是及时 ...
- AI 人工智能 探索 (七)
我简单画了一幅图,来讲下 ai 中的设计模式.图形中的这些人物,我想大家都能看的明白. 当 盗贼出现,人们发现了他们,就 呼叫 主类,然后主类再 通知 下面对应的管理局,然后管理局再 分配人手过去 ...
- AI 人工智能 探索 (五)
我们把做好的 角色 拖到 内存池,如图所示,这样我们可以动态生成角色并给予他 寻路目标. //逗留碰撞 void OnTriggerStay(Collider other) { if (other.t ...
- AI 人工智能 探索 (三)
三类子弹的设计 using UnityEngine; using System.Collections; public class AI : AssembleModel { private Hasht ...
- AI 人工智能 探索 (二)
完整被动技能代码 using UnityEngine; using System.Collections; public class AI : MonoBehaviour { private Hash ...
- AI 人工智能 探索 (十)
呼叫事件图形结构如下 蓝色代表 警察局 红色代表警察 黄色代表 死亡人 蓝色球代表呼救人 黑色代表 敌人 警察目标是 攻击 黑色人,但 路中 会碰到 黄色人,如果警察有 救人功能 则会先救人去医院再看 ...
- AI 人工智能 探索 (九)
链接:http://pan.baidu.com/s/1c0AM3g0 密码:uccw 今天补充 创建物体 移动物体 ,当点击创建后 ,会出来一个 上图的 ui,他跟随 物体,当你把物体拖动到 指定的地 ...
- AI 人工智能 探索 (八)
绑定下,用来释放内存 布局框架.链接:http://pan.baidu.com/s/1eQzSXZO 密码:25ir 这次 我采用 ngui 来设定界面.除工具栏模块外,其他各类ui模块都是 内存池动 ...
- AI 人工智能 探索 (一)
碰撞检测 //逗留碰撞 void OnTriggerStay (Collider other) { if (other.transform.name == name) { //检测距离 //根据距离 ...
随机推荐
- Gitlab命令行指令
Git global setup git config --global user.name "lh" git config --global user.email "l ...
- kettle新建资源库(4)
工具中找资源库或者CTRL+R
- solr定时增量索引
当数据库的数据发生改变的时候,我们不想手动的去重新添加数据库的数据导solr索引库中,所以用到定时添加索引.增删改的数据.现在写的这些都是基于我之前做的一步步到这来的. 将solr/dist下的sol ...
- SharePoint 2013 图文开发系列之列表定义高级篇
转载自 http://www.cnblogs.com/jianyus/p/3484714.html SharePoint列表库,是我们使用过程中最常用的库,下面,我们简单介绍下代码定义自定义列表,主 ...
- ios 将图片变成圆形
#pragma mark - 将图片转换成圆形 -(UIImage*) circleImage:(UIImage*) image withParam:(CGFloat) inset { UIGraph ...
- redis高级实用特性(1)
1.安全性 2.主从复制 3.事务处理 4.持久化机制 5.发布订阅消息 6.虚拟内存的使用 安全性:设置客户端连接后进行任何其他指定前需要使用的密码 警告:因为redis速度相当快,所以在一台比较好 ...
- jvm工具的使用
打开Java VisualVm->工具->插件 如图: 关于要填写的URL地址到 http://visualvm.java.net/pluginscenters.html 找到jdk版本 ...
- winsock编程WSAAsyncSelect模型
winsock编程WSAAsyncSelect模型 WSAAsyncSelect模型也称异步选择模型,其核心函数是WSAAsyncSelect.它可以用来在一个socket上接收以windows消息为 ...
- 关于array_agg 函数
今天一个客户问怎样把表中相同键值对应的文本按照一定顺序拼接起来.如果使用SQL实现将非常麻烦,并且效率低下.GP4.1以后提供了一个函数array_agg可以方便快捷,高效的实现该功能 比如原始查询是 ...
- 观看网上的N多教程有感
MD只想说一句,我擦. 长篇大论,有个叼毛用呀,显示你文采.... 糟粕真TMD多,直接简单的步骤多好,不要显示的你有多专业,其实就是一个二逼. 还有N多论坛,扯淡的人更多.