Flipping a sprite with an attached gameobject
Hi guys, sorry to bother you with a possibly very stupid question. Also, first post here so hello! I’m using Unity 5.4 and C# to create a 2D platformer and I’m now in the process of making an enemy able to flip whenever it bumps into a wall. I’ve created the sprite and attached an empty gameobject as a “wallcheck”. The sprite is supposed to rotate as soon as the wallcheck detects a wall. My problem lies in the scripting…
Basically I tried to use transform.localscale = new vector 3 (-1f, 1f, 1f) to rotate them but my sprite disappeared. A quick search on google showed me that localscale can cause that problem. I then tried to use spriterenderer.FlipX but it allows me to rotate the sprite, not the attached wallcheck gameobject.
Lastly I tried transform.rotate and it seemed to work but apparently I cheered too early, the sprite (and the wallcheck) keep spinning like they’re drunk. I’m sure there’s a simple solution but I can’t seem to be able to find it. Would anyone be so kind to help? ^__^
Here's my code for reference:
 using UnityEngine;
 using System.Collections;
 public class EnemyPatrol : MonoBehaviour {
 public float moveSpeed;
 public bool moveRight;
 public Transform wallCheck;
 public LayerMask whatIsWall;
 bool walled = false;
 public float wallRadius = 0.2f;
 void Update () {
 walled = Physics2D.OverlapCircle(wallCheck.position,wallRadius,whatIsWall);
 if (walled)
 {
 moveRight = !moveRight;
 }
 if(moveRight)
 {
 GetComponent<Rigidbody2D>().velocity = new Vector2(moveSpeed, GetComponent<Rigidbody2D>().velocity.y);
 }else
 {
 GetComponent<Rigidbody2D>().velocity = new Vector2(-moveSpeed, GetComponent<Rigidbody2D>().velocity.y);
 }
 }
 }
 
              Your answer
 
             Follow this Question
Related Questions
How do i get my character to move 3 Answers
Network flip 0 Answers
Sprite 2D Flip issue 1 Answer
How can I rotate a Sprite with the mouse? Like terraria or Starbound 0 Answers
Flip sprite sync Network problem 0 Answers