c# - 死亡时播放的 UI 对象动画
问题描述
基本上,在我的场景中,在一个名为“GameOverUI”的游戏对象下方,我有一些按钮和一个覆盖屏幕的面板。我制作了一个简单的动画,面板的不透明度(Alpha 通道)增加了。你们有谁知道如何制作,以便当玩家死亡时,它启用 GameOverUI 并为面板播放一次动画?
编辑:忘了提,我知道如何使“GameOverUI”启用,我只是不知道如何使动画播放
解决方案
如果您正在寻找带有动画的解决方案,那么您可以这样做:
为您的游戏对象创建一个脚本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 组件以用于其他目的。
我希望这是有道理的,我可以为您提供帮助!
推荐阅读
- php - 如何在 Oracle 数据库中保存 DATE
- inno-setup - 关于在 Inno Setup 脚本的 [UninstallRun] 部分中使用 RunOnceId 的说明
- r - 将缺少对象的命名向量列表转换为 data.frame
- python - 这是对元类的有效使用吗
- c# - 在 C# 中使用抽象类的困惑
- python - Fabric 错误:“PasswordRequiredException:私钥文件已加密”
- haskell - 变量不在范围内:catch
- excel - 运行时错误 1004 范围类的选择方法失败
- html - 将 CSS 应用于第二级项目符号会更改闪亮的 tabsetPanel() 项目符号点
- apache-kafka - Confluent Kafka 5.3.2 代理在启动期间失败