- Home /
Question by
IgotbulletZ · Nov 08, 2018 at 06:38 PM ·
enemy
How do i make the enemy face the player with this code?,How do I make the enemy face the player?
,I have tried a few ways to do this, but none seemed to work. How do i fix this or what should i do in order to make the enemy face the player?
public class Enemy : MonoBehaviour {
public float speed;
private Transform playerPos;
private Player player;
public GameObject effect;
public int health = 4;
void Start()
{
player = GameObject.FindGameObjectWithTag("Player").GetComponent<Player>();
playerPos = GameObject.FindGameObjectWithTag("Player").transform;
}
void Update()
{
transform.position = Vector2.MoveTowards(transform.position, playerPos.position, speed * Time.deltaTime);
}
void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
Instantiate(effect, transform.position, Quaternion.identity);
player.health--;
Debug.Log(player.health);
player.score = player.score - 5;
Destroy(gameObject);
}
if (other.CompareTag("Projectile"))
{
Instantiate(effect, transform.position, Quaternion.identity);
Destroy(gameObject);
player.score = player.score + 10;
Destroy(other.gameObject);
}
}
void FixedUpdate()
{
var playerPosition = playerPos.position;
Quaternion rot = Quaternion.LookRotation(transform.position - playerPosition, Vector3.forward);
transform.rotation = rot;
transform.eulerAngles = new Vector3(0, 0, transform.eulerAngles.z);
}
}
Comment
Answer by Nivbot · Nov 08, 2018 at 07:36 PM
GameObject.transform.LookAt(GameObject.transform.position);
might just be GameObject.transform.LookAt(GameObject.transform)... but in any case, that should make it look at the other object as long as your model has it's axis correct.
Your answer
Follow this Question
Related Questions
enemy respawn after amount of time 2 Answers
How to make enemy damage in diferent parts of the object? 2 Answers
Damage script is screwed up...? what to do? 1 Answer
enemy set to be prefab 0 Answers