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) { //检测距离 //根据距离 ...
随机推荐
- 【python问题系列--3】TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
p0V,p1V,pSpam=trainNBO(array[trainMat],array(trainClasses)) 改为: p0V,p1V,pSpam=trainNBO(array(trainMa ...
- 34.编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然 后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapitalLetter()方法 实现输出大写英文字母表的功能,
//接口InterfaceA package jieKou; public interface IInterfaceA { void printCapitalLetter(); } //接口Inter ...
- Win7的64位系统如何搭建安卓Android开发环境
在搭建安卓Android开发环境,那么现在比较主流的Win7的64位操作系统如何搭建呢?其实很简单,不需要设置任何环境变量,只需要下载两个程序包(ADT和JDK),下载的时候注意选择相应的64位程序包 ...
- CVE-2014-4113 Win8.1 64位利用(2014.11)
CVE-2014-4113 Win8.1 64位利用 关于漏洞成因的分析已经很多了,但是样本针对的是win8之前的利用,国外研究员Moritz Jodeit对Win8.1上的利用做了研究,并给出了思路 ...
- mac中eclipse安装openExplore插件
插件地址:https://github.com/samsonw/OpenExplorer/downloads 将下载的jar包放入下面地址:应用程序->eclipse.app,右击->打开 ...
- SqlSever 查询基本
查询语句: SQL sever 查询语句: 1.查询所有字段: select * from UserInfo 2.条件筛选 (如查询UserInfo中的UserName) select UserNam ...
- view视图--display中echo出ob_get_contents的缓冲内容--(实现,拼接好文件--导入文件)
view.php01默认设置有3个公共的属性,其他属性.后面实例化的时候.通过传递参数.foreach遍历,不断的增加属性02view对象的实例化.位置在-->控制器父类的构造方法中视图的目录名 ...
- LeetCode OJ 292.Nim Game
You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac ...
- Java&&As3.0 中的final 关键字
Java和AS3.0关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. 可以修饰的对象: fin ...
- listview条目用状态选择器没反应
button和imagebutton天生具有“可点击(click)”.“可按下(press)”的特性,radiobutton具有“可勾选(check)”的特性,但是listview的条目只有“可按下( ...