首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在统一c#中逐渐改变颜色

在统一c#中逐渐改变颜色
EN

Stack Overflow用户
提问于 2020-06-09 06:44:40
回答 1查看 1K关注 0票数 0

好的,我有一个小的格斗游戏,我想让饱和度慢慢降低,因为我更多的击中了假人,以显示他们的健康。

我唯一能想到的描述它的方法就是在颜色上使用-=。

这是我所拥有的一切,除了一次改变之外,它是行不通的。

代码语言:javascript
复制
 private void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.collider.tag == "hurtbox")
      {
        Debug.Log("hit");
        collision.gameObject.GetComponent<SpriteRenderer>().color = new Color(100f, 5f, 5f);
      }
}
EN

回答 1

Stack Overflow用户

发布于 2020-06-09 07:01:29

你试过使用Color.Lerp吗?

尝试将代码替换为类似于以下内容的代码:

代码语言:javascript
复制
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://docs.unity3d.com/ScriptReference/Color.Lerp.html?_ga=2.138410096.1930692520.1591664984-2127613969.1584173609

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62276574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档