如何在 unity 中创建遍历指南?

How to create a walk through guidence in unity?

我正在统一创建一个新游戏。我喜欢为我的游戏创建演练指南,它将在第一次注册后显示,例如,单击此处获取金币。收集硬币后它应该显示,点击这里买东西。这些是我想做的事情。我该怎么做

当然,你的问题很宽泛,每一步都要有计划。这是一个非常准确和简单的方法,使用 IEnumerator.

public void Start() => StartCoroutine(Guidence());

示例指南:

现在您必须使用连续的条件来调整 Guidance 的主体,请记住,访问不同的条件并不总是那么容易。但一般来说,委托人必须 return 在 WaitUntil.

中的布尔值
public IEnumerator Guidence() // E.g guidence
{
    Debug.Log("Click on map button watch the map.");
    
    anim.SetTrigger("Flash_Help_1");
    
    mapButton.interactable = true;
    
    yield return new WaitUntil(() => mapButtonClicked);
    
    Debug.Log("Good Job!.");
    
    mapButton.interactable = false;
    
    anim.SetTrigger("Map_Open");

    yield return new WaitForSeconds(5f);

    anim.SetTrigger("Flash_Help_2");

    settingsButton.interactable = true;
    
    Debug.Log("Here is settings button. with setting button you can adjust game settings..");

    yield return new WaitUntil(() => settingButtonClicked);
    
    Debug.Log("Good job.");
    
    // do more...
}

额外

某些条件,例如按下输入键之一,将仅适用于 () => Input.GetKeyDown。一些条件,比如到达某个点,也可以用Vector3.Distance < distance来应用。但是单击 UI 按钮需要以下组合。

public bool mapButtonClicked;
public bool settingButtonClicked;

public void Start()
{
    mapButton.onClick.AddListener(() => mapButtonClicked = true);
    settingsButton.onClick.AddListener(() => settingButtonClicked = true);
    
    StartCoroutine(Guidence());
}