[SOLVED]How can I make my sprite change onto multiple layers?
I want my sprite to change what layer it can and can't collide with based on my input. I have tried using sortingLayerName, but I cant get it to work.
public class PlayerSprite2 : MonoBehaviour
{
private SpriteRenderer spriteRenderer;
public const string GREEN_LAYER = "Green";
public const string RED_LAYER = "Red";
public const string BLUE_LAYER = "Blue";
public const string YELLOW_LAYER = "Yellow";
void Start()
{
myRigidbody = GetComponent<Rigidbody2D>();
myAnimator = GetComponent<Animator>();
spriteRenderer = GetComponent<SpriteRenderer>();
}
// Update is called once per frame
void Update()
{
Run();
Jump();
FlipSprite();
ColourChange();
}
private void ColourChange()
{
if (CrossPlatformInputManager.GetButtonDown(INPUT_FIRE1))
{
spriteRenderer.color = new Color32(31, 195, 46, 255); //Green
if (spriteRenderer)
{
spriteRenderer.sortingLayerName = YELLOW_LAYER;
}
}
else if (CrossPlatformInputManager.GetButtonDown(INPUT_FIRE2))
{
spriteRenderer.color = new Color32(193, 65, 65, 255); //Red
if (spriteRenderer)
{
spriteRenderer.sortingLayerName = RED_LAYER;
}
}
else if (CrossPlatformInputManager.GetButtonDown(INPUT_FIRE3))
{
spriteRenderer.color = new Color32(54, 48, 166, 255); //Blue
if (spriteRenderer)
{
spriteRenderer.sortingLayerName = BLUE_LAYER;
}
}
else if (CrossPlatformInputManager.GetButtonDown(INPUT_FIRE4))
{
spriteRenderer.color = new Color32(233, 234, 50, 255); //Yellow
if (spriteRenderer)
{
spriteRenderer.sortingLayerName = YELLOW_LAYER;
}
}
}
Comment