您当前的位置: 首页 >  dangoxiba unity

【Unity2D】实现敌人Enemy简单AI的巡回移动

dangoxiba 发布时间:2022-01-26 15:33:16 ,浏览量:1

上一篇文章:【Unity2D】实现敌人随机简单AI来回移动_dangoxiba的博客-CSDN博客先把制作好动画帧表格导出来,我的是32*32像素的,按下面两张图把参数修改一下,并且裁剪出四张图来,把第一张图作为一个游戏对象再准备好一个EnemyBlueBug的C#脚本,我们就来编写代码,设计好随机移动,以及能移动的范围。using System.Collections;using System.Collections.Generic;using UnityEngine;public class EnemyBlueBug : Enemy{ public float mo..https://blog.csdn.net/dangoxiba/article/details/122698155

参考视频:秦无邪OvO的个人空间_哔哩哔哩_Bilibili秦无邪OvO,独立游戏开发者/美术/编曲;秦无邪OvO的主页、动态、视频、专栏、频道、收藏、订阅等。哔哩哔哩Bilibili,你感兴趣的视频都在B站。https://space.bilibili.com/335835274?from=search&seid=2940030192624790742&spm_id_from=333.337.0.0

学习目标:

实现敌人Enemy简单AI的巡回移动,上一篇文章讲到位置的随机移动,现在可以来实现巡回来移动,这里采用左右移动。

学习内容:

先把几个空对象设置好,leftPos,rightPos还有EnemyBlueBug,必须处于y轴平行,即y轴位置相同,然后就把EnemyBlueBug贴着墙的最左最右边,leftPos,rightPos即可粘贴他的位置。

然后改进一下上次打的代码 代码部分:

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class EnemyBlueBug : Enemy {     public float moveSpeed;     public float startTime;     public float waitTime;

    public Transform leftPos;     public Transform rightPos;     public Transform movePos;    public void Start()     {         base.Start();         waitTime = startTime;         movePos.position = leftPos.position;     }

    // Update is called once per frame    public void Update()     {         base.Update();         transform.position = Vector2.MoveTowards                                      (transform.position, movePos.position, moveSpeed * Time.deltaTime);         if(Vector2.Distance(transform.position, leftPos.position) < 0.05f)         if (waitTime

关注
打赏
1688896170
查看更多评论

dangoxiba

暂无认证

  • 1浏览

    0关注

    55博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0496s