0
我试图在两种颜色之间过渡,在1秒内从黑色到蓝色,但我看起来似乎没有把握。目前,当我点击按钮颜色保持黑色,从不转换为蓝色。我需要解决什么问题?谢谢!两种颜色之间的差异
private Color startColor = Color.black;
private Color endColor = new Color(0.0f, 0.71f, 1.0f, 1.0f);
private float duration = 1.0F;
void OnButtonClick()
{
AppData.SelectedPageConfig = Page ;
AnalyticsWrapper.CustomEvent ("SelectPicture", new Dictionary<string, object> {
{ "PictureName", Page.name }
}) ;
StartCoroutine(DoChangeColor());
StartCoroutine(DoChangeSceneDelay());
}
IEnumerator DoChangeColor()
{
float lerp = Mathf.PingPong(Time.deltaTime, duration)/duration;
transform.Find("Creature Color Crop").transform.Find("Creature Image").GetComponent<Image>().color = Color.Lerp(startColor, endColor, lerp);
yield return new WaitForEndOfFrame();
}
IEnumerator DoChangeSceneDelay()
{
yield return new WaitForSeconds(2);
SceneManager.LoadScene("ColoringBook_ColoringScreen");
}
你的协同程序的两个只执行一次,你需要有内部'DoChangeColor()',检查它是否已达到最终颜色的循环(和重复颜色改变直到完成) – UnholySheep