How to make my enemy move in random direction while facing the player
Hey guys, it's me again - so I got my Colliders to work properly and everything's working smoothly up to this point. So i have a kind of dynamic movement going on: My player moves and my enemies are always turning towards him and following him wherever he goes - so far so good. Now i have the colliders working as follows:
if (playerNearEnemy1 == false) {
Vector2 dir = Player.position - transform.position;
float angle = Mathf.Atan2 (dir.y, dir.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis (angle - 90, Vector3.forward);
transform.position += transform.up * movementSpeed * Time.deltaTime;
}
if (playerNearEnemy1 == true && enemyNearEnemy1 == true) {}
When my enemy isn't near the player it moves towards him (first if statement). Now as soon as the second statement returns true, I want the enemy to keep moving AWAY from the player in a random direction (180° behind it, if you know what i mean) and return to him again (if statement 1) until he finds an opportunity to attack (when only the player is in its danger radius and no more enemy).
I got a little scribble i did here: ![alt text][1]
Any ideas how i could code this? THX for any help! BTW: I'm doing this in a 2D setup, top-down perspective. [1]: /storage/temp/71050-enemyroaming.jpg
Your answer
Follow this Question
Related Questions
How to fix enemy's rotation (2D) 0 Answers
Rigidbody2D to go through Box Collider 2D 1 Answer
Detect direction of enemy with MoveTowards 1 Answer
How do you add a Collider2D to a Line Renderer In Unity2D? 0 Answers
Issues with collider or raycast 0 Answers