繁体   English   中英

如何使用 c# 在 Unity 中移动到下一个级别/场景

[英]How to move to next level/scene in Unity using c#

如果玩家 object 触及另一个 object,我想制作一个从场景 Game2 移动到场景 Game4 的脚本。

我编写了以下代码来做到这一点:

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class NextLevel : MonoBehaviour
{
    [SerializeField]
    string strTag;

    private void OnCollisionEnter(Collision collision)
    {
        if (collision.collider.tag == strTag)
            SceneManager.LoadScene(Game4);
    }
}

但是,当我使用它时,它会给出错误: Assets/Scripts/General/Collsion.cs(14,36): error CS0103: The name 'Game4' does not exist in the current context

这是一款 3d 游戏。

谢谢您的帮助!

你可能的意思是使用

SceneManager.LoadScene("Game4");

你的脚本中没有任何东西叫做Game4并且LoadScene需要一个字符串,所以在我看来你只是缺少一些" ;)


顺便说一句,而是使用CompareTag而不是== 第二个可能会因拼写错误或不存在的标签而默默失败。 CompareTag会引发异常,并且速度也稍快一些。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM