Help with enemy AI Please! (on 2D Platformer)
Hi, I have an enemy AI script in C# that partially works, my enemy walks towards the player when seen from a certain distance. But I cant get the enemy's sprite to flip when following the player (it always looks in one direction). And I also need the enemy to jump when a collider is in the way (to avoid obstacles), I haven't tried to do the collider thing on my own because I have no clue on how to do it. So please please help me :)
Enemy AI Script v v v
using UnityEngine;
using System.Collections;
public class Zombie : MonoBehaviour {
public Transform target;
public int moveSpeed;
public int rotationSpeed;
public int maxDistance;
public bool facingRight = true;
private Transform myTransform;
private bool spriteRenderX = true;
void Awake()
{
myTransform = transform;
}
// Use this for initialization
void Start()
{
GameObject go = GameObject.FindGameObjectWithTag("Player");
target = go.transform;
maxDistance = 5;
facingRight = !facingRight;
spriteRenderX = GetComponent<SpriteRenderer>().flipX;
}
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.gameObject.tag == "Player")
{
}
}
// Update is called once per frame
void FixedUpdate()
{
if (Vector3.Distance(target.position, myTransform.position) < maxDistance)
{
if (target.position.x < myTransform.position.x) myTransform.position -= myTransform.right * moveSpeed * Time.deltaTime; // player is left of enemy, move left
{
if (facingRight)
spriteRenderX = true;
}
if (target.position.x > myTransform.position.x) myTransform.position += myTransform.right * moveSpeed * Time.deltaTime; // player is right of enemy, move right
{
if (!facingRight)
spriteRenderX = true;
}
}
}
}
Thank you!
Your answer
Follow this Question
Related Questions
2D-Platformer wrong jumps 0 Answers
How to have multiple enemies (currently having to kill them in order) 1 Answer
Random Number keeps generating over and over 2 Answers
[2D Platform Game] Precise Jumping Without Holding Down Directional Button. 0 Answers
Help with Player Jumping Script In 2D Platformer (C#) 1 Answer