好的,我有一个小的格斗游戏,我想让饱和度慢慢降低,因为我更多的击中了假人,以显示他们的健康。
我唯一能想到的描述它的方法就是在颜色上使用-=。
这是我所拥有的一切,除了一次改变之外,它是行不通的。
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.collider.tag == "hurtbox")
{
Debug.Log("hit");
collision.gameObject.GetComponent<SpriteRenderer>().color = new Color(100f, 5f, 5f);
}
}发布于 2020-06-09 07:01:29
你试过使用Color.Lerp吗?
尝试将代码替换为类似于以下内容的代码:
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.collider.tag == "hurtbox")
Debug.Log("hit");
otherSpriteRenderer = collision.gameObject.GetComponent<SpriteRenderer>()
otherSpriteRenderer.color = Color.Lerp (otherSpriteRenderer.color, Color.red, 0.005f);
}otherSpriteRenderer指的是与您碰撞的对象的雪碧渲染。
https://stackoverflow.com/questions/62276574
复制相似问题