Hi everyone. This is my first question so I'm sorry if it's not posted propertly. And I'm sorry for my bad english too.
I have a little test game, where the enemy starts chasing the main character (the player) when he gets in a certain distance. (at the end of the post is the script of the enemy). The thing is that when the enemy reaches the player, he keeps walking forward and pushing the player. It even pushes it upward, so the enemy start walking and pushing the character in the air!
How can I avoid this? I do not have the action decided, but I would like to know how to stop it, no matter what happens later (if the player dies, or just start talking with the enemy).
Thanks everyone.
Here's the script of the enemy (it's based in a few answers I found here):
var LookAtTarget:Transform;
var speed : float = 3;
var proximity : float = 3;
function Update(){
var dist = Vector3.Distance(LookAtTarget.transform.position, transform.position);
//check whether you are within target proximity
if (dist < proximity ) {
animation.Play("threaten");
transform.LookAt (LookAtTarget); //you look at player with this
transform.Translate (0,0,speed*Time.deltaTime);
//moves with speed in local z and you are looking toward him so you move toward the player
//write other codes here
}
else {
animation.Play("idle");
}
}