- Home /
Enemy rams my player?
Hi,I want to make enemy stop when he is near the player. Right now enemy starts follow player when the distance is 20 but I want it to stop when distance is 2! How can I make enemy stop when near the player???... right now it rams my player!
enemy script is:
var player : GameObject; var speed : float = 1;
function Start () { player = GameObject.FindGameObjectWithTag("Player"); if (!player) Debug.Log ("ERROR could not find Player!"); }
function Update() { if (!player) return; var distance = Vector3.Distance( player.transform.position, transform.position); if ( distance < 20 ) { Debug.Log ("player is close"); var delta = player.transform.position - transform.position; delta.Normalize(); var moveSpeed = speed Time.deltaTime; transform.position = transform.position + (delta moveSpeed); } else { Debug.Log("not close yet " + distance); } }
Answer by aldonaletto · Aug 10, 2011 at 01:14 AM
You must modify a little the logic and test the min distance first, like this:
function Update() { if (!player) return; var distance = Vector3.Distance( player.transform.position, transform.position); if ( distance