Unity2d 机器人被攻击后自动追击的实现
2020-06-21 04:20
567 查看
子弹挂载的代码
通过奇偶判断是否击杀
奇数次:打开机器人AI脚本
偶数次:关闭机器人AI脚本并修复机器人
[code] //子弹命中 private void OnCollisionEnter2D(Collision2D collision) { //调用机器人控制脚本的修复函数,修改机器人的状态 RobotControl ec = collision.gameObject.GetComponent<RobotControl>(); if (ec!=null) { ec.Fixed();//杀敌 if (RobotControl.isFixed%2==0) { collision.gameObject.GetComponent<AIPath>().enabled = false; PlayerControl.enemyleft--;//更改玩家控制中的击杀数,以此判断任务是否完成,格式:脚本名.静态变量--; Debug.Log("当前敌人数:" + PlayerControl.enemyleft); } if (RobotControl.isFixed%2 != 0) { //打开命中对象的AI组件 collision.gameObject.GetComponent<AIPath>().enabled = true; //collision.gameObject.GetComponent<RobotControl>().enabled = false; //RobotControl.AIon(); //ScriptSelect.changestatus(); } Debug.Log("命中敌人了"); } //播放命中声 AudioManager.instance.AudioPlay(hitClip); //立即销毁子弹 Destroy(this.gameObject); }
机器人控制代码
修复函数
[code] public void Fixed() { isFixed--; Debug.Log("IsFixed:" + isFixed); if (isFixed%2==0) { AIoff(); //ScriptSelect.closeAI(); if (brokeneffect.isPlaying == true) { brokeneffect.Stop(); } AudioManager.instance.AudioPlay(fixedClip); rbody.simulated = false;//禁用物理 anim.SetTrigger("fix");//播放被修复(打)的动画 //加载预制体资源,掉落子弹 RandomDrop(); } }
附完整教程:
相关文章推荐
- Unity中使用委托 代理 实现敌人自动检测目标并攻击
- unity基础开发----在Unity3D里面实现自动开门和关门
- unity3D引擎:2D游戏自动瞄准算法实现
- Unity3D 2d物体(窗口)自动吸附功能实现
- MVC3使用Unity实现依赖注入接口与于实现类自动注册
- 时光煮雨 Unity3D实现2D人物动画② Unity2D 动画系统&资源效率
- python实现微信自动回复及接入聊天机器人等功能
- Unity 2D描边实现介绍
- 30行代码实现微信自动回复机器人
- Unity实现攻击后闪白效果
- 基于python脚本,实现Unity全平台的自动打包
- Python实现微信自动回复机器人(简单)
- C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~
- Python实现微信自动拉群机器人
- Unity 3d 如何实现点击屏幕,npc自动移动到点击位置
- Unity使用lua行为树实现(可实现rpg挂机自动战斗)
- python实现微信自动回复机器人
- php实现攻击服务器的自动执行发包源码
- Unity一个智能火力点,根据攻击范围自动旋转攻击
- Unity模型编辑器实现仿炉石传说攻击箭头