怪物自动攻击

简单实现

这里不是实现完整的怪物AI,只是刚实现了血条,就实现个怪物追击角色并攻击。

简单实现一下,需要:怪物追击,主角被碰到就掉血

  • 怪物脚本,直线找角色的位置,这里有个问题,就是如果有障碍物怪物不会自动绕路,这个问题以后再解决。

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

public class Monster : MonoBehaviour
{
    public float MoveSpeed;

    Vector3 _offSet;
    GameObject _player;
    // Start is called before the first frame update
    void Start()
    {
        MoveSpeed = 0.2f;
        _player = GameObject.Find("player");
    }

    // Update is called once per frame
    void Update()
    {
        pursue();
        
    }

     void pursue()
    {
        _offSet = _player.transform.position - transform.position;
        transform.position += _offSet.normalized * MoveSpeed * Time.deltaTime;
    }
}
  • 角色属性脚本里添加2D碰撞检测,如果碰到的是怪物就扣血。

好了,看看效果吧,勉强能看,这实际还有很多细节bug。

碰撞行为放在怪物上

TODO

最后更新于