how to make an ai shoot when it sees you in unity 2d code example
Example: how to make a shooting enemy ai in c#
float moveSpeed = 7f;
Rigidbody2D rb;
Player target;
Vector2 moveDirection;
void Start()
{
rb = GetComponent<Rigidbody2D>();
target = GameObject.FindObjectOfType<Player>();
moveDirection = (target.transform.position - transform.position).normalized * moveSpeed;
rb.velocity = new Vector2(moveDirection.x, moveDirection.y);
Destroy(gameObject, 3f);
}
void OnTriggerEnter2D(Collider2D col)
{
if (col.gameObject.name.Equals("Player"))
{
Debug.Log("Hit!");
Destroy(gameObject);
}
}
[SerializeField]
GameObject Bullet;
float fireRate;
float nextFire;
void Start()
{
fireRate = 1f;
nextFire = Time.time;
}
void Update()
{
CheckIfTimeToFire();
}
void CheckIfTimeToFire()
{
if(Time.time > nextFire)
{
Instantiate(Bullet, transform.position, Quaternion.identity);
nextFire = Time.time + fireRate;
}
}