Question by
iriegusto · Mar 24, 2021 at 09:14 AM ·
scripting problemflipping
Sprite flipping to face player
Hello. I'm trying to get my animated enemy AI sprites to flip when attacking the player so that they face the player no matter their spawn point origin. I tried the below Flip but it's not working--enemies still all face right, in their original position:
public class EnemyFollowB : MonoBehaviour
{
private Rigidbody2D rb;
private PlayerB player;
private float moveSpeed;
private Vector3 directionToPlayer;
private Vector3 localScale;
private bool facingRight;
private Transform target;
private Animator animvar;
public float speed;
//start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody2D>();
player = FindObjectOfType(typeof(PlayerB)) as PlayerB;
moveSpeed = 2f;
localScale = transform.localScale;
target = GameObject.FindGameObjectWithTag("PlayerB").transform;
}
private void FixedUpdate()
{
MoveEnemy();
}
private void MoveEnemy()
{
directionToPlayer = (player.transform.position - transform.position).normalized;
rb.velocity = new Vector2(directionToPlayer.x, directionToPlayer.y) * moveSpeed;
}
void Flip(){
Vector3 scale = transform.localScale;
scale.x *= -1;
transform.localScale = scale;
facingRight = !facingRight;
}
private void LateUpdate()
{
if (rb.velocity.x > 0)
{
transform.localScale = new Vector3(localScale.x, localScale.y, localScale.z);
}
else if (rb.velocity.x < 0)
{
transform.localScale = new Vector3(localScale.x, localScale.y, localScale.z);
}
}
private void Update()
{
if (Vector3.Distance(target.position,transform.position)<20)
{
transform.position=Vector2.MoveTowards(transform.position, target.position,speed * Time.deltaTime);
if(target.position.x > transform.position.x && !facingRight) //if the target is to the right of enemy and the enemy is not facing right
Flip();
if(target.position.x < transform.position.x && facingRight)
Flip();
}
}
}
Any feedback on why the flip isn't wporking?
Comment
Your answer
Follow this Question
Related Questions
WSAD Movement performs unwanted flipping of character 0 Answers
Player is not flipping 0 Answers
Flipping Animation/Jumping animation 0 Answers
Cannot detect trigger 2 Answers
Reference clock from another script 1 Answer