[2021.10.22]<呆头熊的开发日记>怪物AI(3)

这次的敌人在之前最简单的蝙蝠精的基础上加上了远程攻击行行为。

主要行为逻辑:

1.在两点间飞行;2.发现玩家后对玩家进行远程攻击

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

public class EnemyBat11 : Enemy
{
    public Transform wayPoint01, wayPoint02;
    private Transform wayPointTarget;
    [SerializeField] private float moveSpeed;
    [SerializeField] private float attackRange; //攻击范围
    private SpriteRenderer sp;   //翻转

    private Transform target;

    private Animator anim;
    public GameObject Followers;

    private void Start() 
    {
        
        wayPointTarget = wayPoint01;
        sp = GetComponent<SpriteRenderer>();
        //确定玩家位置
        target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
        anim = GetComponent<Animator>();   
    }

    private void Update() 
    {
        
        //玩家是否进入攻击范围
        if (Vector2.Distance(transform.position, target.position) < attackRange)
        {
            anim.SetBool("isAttack", true); 
        }
        else
        {
            anim.SetBool("isAttack", false);
            Patrol();
        }

    }

    private void Patrol()
    {
        //速度
        anim.SetBool("Fly", true);
        transform.position = Vector2.MoveTowards(transform.position, wayPointTarget.position, moveSpeed * Time.deltaTime);
        //两点巡逻
        if (Vector2.Distance(transform.position, wayPoint01.position) <= 0.01f)
        {
            wayPointTarget = wayPoint02;
            sp.flipX = false; //朝右
        }

        if (Vector2.Distance(transform.position, wayPoint02.position) <= 0.01f)
        {
            wayPointTarget = wayPoint01;
            sp.flipX = true; //朝左
        }
        
    }

    
    public void Shot()
    {
        Instantiate(Followers, transform.position, Quaternion.identity);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值