在做图片透明度的变化时,想用乒乓解决,但是却没有效果
错误写法
void Update()
{
m_Timer = Mathf.PingPong(m_Timer, 1f);
m_Bg.color = new Color(m_Bg.color.r, m_Bg.color.g, m_Bg.color.b, m_Timer);
m_Timer += 0.01f * 5;
}
原因在于混淆了Pingpong的参数和Timer的关系,Timer是用来计时的,而结果需要用另一个变量表示才行
正确写法
void Update()
{
var m_Alpha = Mathf.PingPong(m_Timer, 1f);
m_Bg.color = new Color(m_Bg.color.r, m_Bg.color.g, m_Bg.color.b, m_Alpha);
m_Timer += 0.01f * 5;
}