首页 > 解决方案 > 死亡时播放的 UI 对象动画

问题描述

基本上,在我的场景中,在一个名为“GameOverUI”的游戏对象下方,我有一些按钮和一个覆盖屏幕的面板。我制作了一个简单的动画,面板的不透明度(Alpha 通道)增加了。你们有谁知道如何制作,以便当玩家死亡时,它启用 GameOverUI 并为面板播放一次动画?

编辑:忘了提,我知道如何使“GameOverUI”启用,我只是不知道如何使动画播放

标签: c#unity3duser-interfaceanimation

解决方案


如果您正在寻找带有动画的解决方案,那么您可以这样做:

为您的游戏对象创建一个脚本GameOverUI。真的很简单:

public class UIHandler : MonoBehaviour
{
   private void OnEnable()
   {
       //play "dead screen" animation
   }
}

MethodOnEnable()是一个MonoBehavior函数,当您通过调用myGameObject.SetActive(true);.

但是,我建议考虑另一种解决方案。我通常GameOverUI保持活动状态并使用它通过脚本管理其子项。所以我认为写这样的东西会更优雅:

public class UIHandler : MonoBehaviour
{
   public void PlayerDied()
   {
       //play "dead screen" animation
   }
}

不同之处在于,您调用的是一个方法,而不是启用和禁用 GameObject。这样,如果需要,您将能够传递数据(作为函数参数)。例如,你可以写到屏幕上,是什么导致了死亡。此外,GameObject 将能够管理其 UI 组件以用于其他目的。

我希望这是有道理的,我可以为您提供帮助!


推荐阅读