У меня есть бесконечный фон, настроенный методом мозаики, который перемещается справа налево. Я хочу сделать так, чтобы, если игрок набрал количество очков (например, 1000), я хотел бы изменить фончерез переход, как следующий фон будет двигаться слева направо, как и другой, но когда он перемещается, он остается, пока игрок не наберет другое количество очков (например, 2000).Затем это происходит снова, но теперь с другой текстурой.
Текущий скрипт выглядит следующим образом:
public class BackgroundScroll : MonoBehaviour {
Material material;
public Material materialChange;
Vector2 offset;
public int xVelocity, yVelocity;
private float backgroundSpeed = 1f;
public static float speed = 10f;
private float speedUp = 0.1f;
private int changed = 0;
private void Awake()
{
material = GetComponent<Renderer>().material;
speedUp = 0.1f;
}
// Use this for initialization
void Start () {
changed = 0;
//offset = new Vector2(xVelocity, yVelocity);
StartCoroutine(Speed());
}
// Update is called once per frame
void Update () {
offset = new Vector2(xVelocity, yVelocity);
material.mainTextureOffset += offset * Time.deltaTime * backgroundSpeed;
BackgroundChange();
}
void BackgroundChange()
{
if (ScoreHandler.score >= 100 && changed == 0)
{
material.mainTexture = materialChange.mainTexture;
changed = 1;
}
}
IEnumerator Speed()
{
yield return new WaitForSeconds(20);
speed += speedUp;
backgroundSpeed += speedUp;
}
}
Эта строка меняет фон, но анимации или перехода вообще нет, онапросто меняет его: material.mainTexture = materialChange.mainTexture;
Поэтому мой вопрос заключается в том, как я могу изменить фон с помощью анимации, чтобы он скользил, затем оставался до тех пор, пока другой не вставил, и остался.и т.д ...