Question by
ReallyTerribleDev · Jul 16, 2021 at 03:06 AM ·
spritescript.loop
my script only runs 1 time when its designed to run infinitely with a cooldown, there are no errors either so im confused
Okay so i have an issue, and i cant figure this out, so, my script is essentially a script that changes the sprite of the character every few seconds or so, but, it changes the sprite 1 time and then never does it again, why does it do this? I've been stuck on this for a day and a half now, I'm not amazing at scripting, I took this from one of my older scripts, i have no idea what to do
the script is
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BeanAnimation : MonoBehaviour
{
private SpriteRenderer spriteRenderer;
public float timeToChange = 5f;
public float timeSinceChange = 0f;
public Sprite Bean1sprite;
public Sprite Bean2sprite;
private void Awake()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
void Update()
{
timeSinceChange += Time.deltaTime;
if (timeSinceChange >= timeToChange)
{
if (spriteRenderer.sprite = Bean2sprite)
{
spriteRenderer.sprite = Bean1sprite;
}
if (spriteRenderer.sprite = Bean1sprite)
{
spriteRenderer.sprite = Bean2sprite;
}
timeSinceChange = 0.0f;
}
}
}
Comment
Your answer

Follow this Question
Related Questions
Creating Bouyancy Script for Blender Object 0 Answers
Unity wont let me change to Visual Studio Code 0 Answers
Gameobject Gravity 2D Script 0 Answers
if ALL items in array are something 1 Answer