我绝对是Unity的新手,我正在尝试创建一个2D游戏,该游戏要求滚动背景每10秒加速一次。我无法使代码正常工作
我尝试设置一个协程,但是似乎每隔一帧而不是每隔10秒调用一次函数
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScrollingBackground : MonoBehaviour
{
public float bgSpeed = 5;
public Renderer bgRend;
public float increment = 2f;
private void Start()
{
StartCoroutine(Accelerate());
}
void Update()
{
bgRend.material.mainTextureOffset += new Vector2(0f, bgSpeed * Time.deltaTime);
StartCoroutine(Accelerate());
}
private IEnumerator Accelerate()
{
while (true)
{
bgSpeed = increment * Time.deltaTime;
yield return new WaitForSeconds(10f);
Debug.Log("Getting Faster!");
Debug.Log("OnCoroutine: " + (int)Time.time);
}
}
}
不仅背景速度非常缓慢(只能达到0.3左右并卡住),而且我似乎也无法完成这项工作。谢谢您的帮助!