使GameObject在有限的时间内出现和消失

时间:2015-10-09 13:54:58

标签: c# unity3d gameobject

我试图让游戏对象出现并在有限的时间内消失(让我们把时间函数放在一边)。

以下是我的结果:

using UnityEngine;
using System.Collections;

public class Enemy1Behavior : MonoBehaviour
{
    // Use this for initialization
    void Start ()
    {
    }

    // Update is called once per frame
    void Update ()
    {
        this.gameObject.SetActive(false); // Making enemy 1 invisible
        Debug.Log("Update called");
        DisappearanceLogic(gameObject);
    }

    private static void DisappearanceLogic(GameObject gameObject)
    {
        int num = 0;
        while (num >= 0)
        {
            if (num % 2 == 0)
            {
                 gameObject.SetActive(false);
            }
            else
            {
                 gameObject.SetActive(true);
            }
            num++;
        }
    }
}

现在当我点击Unity中的播放按钮时,程序只是没有响应,我只能使用End Task从任务管理器退出。

(是的,我知道方法中存在无限循环)。

所以我想我做错了什么。在Gameobject中使Unity闪烁/闪烁/显示消失的最佳方法是什么?

谢谢你们。

1 个答案:

答案 0 :(得分:0)

你可以制作闪烁等动画 - Animations in Mecanim。出现和消失,您可以使用gameObject.SetActive(true/false);。如果你想用时间做点什么,最好使用Coroutines或只使用延迟参数调用 - Invoke Unity Docs