public class jianyin : MonoBehaviour { public Image image; public float fadeDuration = 1f; private float currentAlpha = 1f; public Image shoujitu; // ͼƬ4 private void Update() { currentAlpha -= Time.deltaTime / fadeDuration; image.color = new Color(image.color.r, image.color.g, image.color.b, currentAlpha); if (currentAlpha <= 0f) { image.enabled = false; } } public void StartFadeOut() { currentAlpha = 1f; image.enabled = true; } public void xianshi() { shoujitu.gameObject.SetActive(true); // 显示图片2 } }为何图片显示隐藏之后不能再次显示
时间: 2024-02-14 07:23:35 浏览: 124
实用工具,用Python实现的模拟剪映转换字幕,JianYingSrt.zip
根据你提供的代码,图片显示隐藏后不能再次显示的原因可能是因为在`StartFadeOut()`方法中,你将`image.enabled`设置为`false`,这会导致图片在隐藏后无法再次显示。
要解决这个问题,你可以在`xianshi()`方法中,将`shoujitu.gameObject.SetActive(true)`之外,还需要将`image.enabled`设置为`true`,以确保图片能够正确显示。
以下是修改后的代码示例:
```csharp
public class jianyin : MonoBehaviour
{
public Image image;
public float fadeDuration = 1f;
private float currentAlpha = 1f;
public Image shoujitu; // 图片4
private void Update()
{
currentAlpha -= Time.deltaTime / fadeDuration;
image.color = new Color(image.color.r, image.color.g, image.color.b, currentAlpha);
if (currentAlpha <= 0f)
{
image.enabled = false;
}
}
public void StartFadeOut()
{
currentAlpha = 1f;
image.enabled = true;
}
public void xianshi()
{
shoujitu.gameObject.SetActive(true); // 显示图片2
image.enabled = true; // 显示图片
}
}
```
通过以上修改,你应该可以实现图片的显示和隐藏多次切换了。
阅读全文