我试图为我的启动画面制作一个乒乓彩色文字。我试图改变alpha值,我的颜色在运行时变为黑色。尝试在函数中指定颜色时,它变为白色。你能告诉我我做错了什么以及我应该如何正确设置颜色?
using UnityEngine;
using UnityEngine.UI;
public class LerpAlpha : MonoBehaviour {
public float duration;
float alpha;
Text colorText;
Color textColor;
void LerpAlphaText()
{
float lerp = Mathf.PingPong(Time.time, duration) / duration;
alpha = Mathf.Lerp(0.0f, 1.0f, Mathf.SmoothStep(0.0f, 1.0f, lerp));
textColor.a = alpha;
///Also tried textColor = new Color(113, 75, 2, alpha); resulting in
///the white text
colorText.color = textColor;
}
void Start()
{
colorText = GetComponent<Text>();
}
void Update ()
{
LerpAlphaText();
}
}
答案 0 :(得分:0)
Color
类的RGBA组件的范围为0-1,因此Color(113, 75, 2, alpha)
将返回白色。通过 RGBA / 255.0 扩展您的组件,或者只需将Color textColor;
更改为public Color textColor;
并在检查器中进行设置。