gpt4 book ai didi

c# - 统一淡入场景无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:23 24 4
gpt4 key购买 nike

当我在 unity 中淡出场景并尝试淡入原始屏幕时,我遇到了黑屏。例如,从暂停屏幕返回主菜单时出现黑屏,我认为这是我的代码问题。我应该如何解决这个问题?

using UnityEngine;
using System.Collections;

public class Fading : MonoBehaviour
{
public Texture2D fadeOutTexture;
public float fadeSpeed = 0.8f;

private int drawDepth = -1000;
private float alpha = 1.0f;
private int fadeDir = -1;

void OnGUI()
{
alpha += fadeDir * fadeSpeed * Time.deltaTime;
alpha = Mathf.Clamp01(alpha);

GUI.color = new Color(GUI.color.r, GUI.color.g, GUI.color.b, alpha);
GUI.depth = drawDepth;
GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), fadeOutTexture);
}

public float BeginFade (int direction)
{
fadeDir = direction;
return (fadeSpeed);
}

void OnLevelWasLoaded()
{
alpha = 1;
BeginFade(-1);
}
}

最佳答案

你的代码说:

  1. 当游戏开始时,立即开始褪色。
  2. OnGUI(每秒调用 30 到 100 次):淡出
  3. 如果您调用 BeginFade 方法...什么都不做(您已经在淡入淡出)
  4. 继续永远变黑。

从来没有一段代码可以停止褪色。

您可以添加一个 bool 值“isFading”并将所有 OnGUI 代码放入:

if( isFading )
{
...
}

...但您仍然需要在某个时候停下来。例如OnGUI 的最后一行可以是:

if( isFading && alpha <= 0 )
isFading = false;

关于c# - 统一淡入场景无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34958394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com