Как исправить ошибку единства CS0176 с помощью менеджера сцен - PullRequest
0 голосов
/ 21 апреля 2020

Моя проблема заключается в следующем:

Я пытаюсь написать скрипт для Unity, с помощью которого я могу изменить сцену при нажатии на один указанный c Объект. Но я получаю следующую ошибку:

NewBehaviourScript.cs (19,21): ошибка CS0176: член 'SceneManager.LoadScene (string)' не может быть доступен со ссылкой на экземпляр; вместо этого укажите имя типа

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

public class NewBehaviourScript : MonoBehaviour
{
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                if (hit.transform.name == "Cube")
                {
                    SceneManager mySceneManager = new SceneManager();
                    mySceneManager.LoadScene("SceneTwo");
                }

            }
        }
    }
}

1 Ответ

0 голосов
/ 21 апреля 2020

SceneManager.LoadScene является методом c. Это означает, что он принадлежит типу SceneManager, а не некоторому экземпляру SceneManager. Это означает, что вам не нужно создавать новый экземпляр SceneManager и вместо

SceneManager mySceneManager = new SceneManager();
mySceneManager.LoadScene("SceneTwo");

просто используйте

SceneManager.LoadScene("SceneTwo");

Подробнее о членах stati c можно узнать в c# in Документы Microsoft . Также в следующий раз сначала поищите примеры в документации Unity , это может сэкономить вам время.

...