[英]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.