【发布时间】:2019-12-15 23:53:15
【问题描述】:
我想在开始时隐藏一个按钮,并在一定时间后让它再次变为活动状态。但是,对 WaitForSeconds() 的调用不起作用。
我尝试了以下方法:
- 让其他方法调用 WaitForSeconds
- 从其他脚本访问
bool值以跳过 WaitForSeconds - StartCoroutine 方法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class HideUnhideBtn : MonoBehaviour
{
public Button buttonToHide;
public float comeInTime = 32.5f;
IEnumerator Start()
{
buttonToHide.gameObject.SetActive(false);
yield return new WaitForSeconds(comeInTime);
buttonToHide.gameObject.SetActive(true);
}
}
【问题讨论】:
-
到目前为止的答案应该是无效的。 Start 方法可以像 manual 中的示例一样作为协程实现,并且不需要 StartCoroutine。你确定使用这种单一行为的游戏对象开始启用了吗?
-
取决于创建顺序,您确定此时 buttontohide 可用吗?
标签: c# user-interface unity3d