你如何在Unity 3D中临时制作一个精灵消失效果?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (33)

在团结中,我添加了一个2D精灵,它为我角色的火箭靴提供了一个助推器的界面。我希望在按空格后显示2D精灵,并在1/4秒后消失。如何打开和关闭C#代码中推进器精灵的可见性?

提问于
用户回答回答于

您可能还想研究使用Coroutines。这个想法是,它是一个方法调用,可能包含延迟或等待时间,然后方法“完成”。有关详细说明,请参阅链接页面。

这是一个示例协程方法:

public IEnumerator ShowBoostersForQuarterSecond() {
    spriteRenderer.enabled = true;           //show
    yield return new WaitForSeconds(0.25f);  //wait
    spriteRenderer.enabled = false;          //hide
}

你会这样称呼它

StartCoroutine(ShowBoostersForQuarterSecond());

请注意,您可能要做gameObject.renderer的不是spriteRenderer。或者创建一个字段来保存Sprite Renderer引用,由您决定。

用户回答回答于

我是Unity上的总菜鸟,但您可以使用带有TimerElapsed事件的Timer来设置您的出现/消失时间。这里有很好的示例https://docs.microsoft.com/en-us/dotnet/api/system.timers.timer.elapsed?view=netframework-4.8

关于精灵,您可以使用它来防止渲染所需的精灵

spriteRenderer.enabled = false; 

在您的解决方案中配置Timer后,我认为您可能会遇到类似的情况

private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
{
    spriteRenderer.enabled = false;
}

扫码关注云+社区

领取腾讯云代金券