Unity Scene не существует, хотя она определена? - PullRequest
0 голосов
/ 02 августа 2020

Я работаю над сценарием смерти для своей игры в Unity. Я сделал 3D Box без текстур под моим уровнем и сделал его Collider isTrigger = true. Теперь я добавил в поле скрипт, который перезагружает текущую сцену, когда игрок входит в триггер. Это 2 строки кода, и я не знаю почему, но я получаю сообщение об ошибке:

Assets\scripts\death.cs(20,32): error CS0103: The name 'currentScene' does not exist in the current context

Код:

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

public class death : MonoBehaviour
{

    void Start()
    {
        Scene currentScene = SceneManager.GetActiveScene();
    }

    private void OnTriggerEnter(Collider other)
    {
        SceneManager.LoadScene(currentScene.buildIndex);
    }
}

1 Ответ

0 голосов
/ 02 августа 2020

Я знаю, что в комментариях выше уже было сказано, что ваша проблема была в локальной переменной, и благодаря им, но это как раз для оптимизации вашего кода и памяти. вы можете просто оставить только OnTriggerEnter и удалить Start.

private void OnTriggerEnter(Collider other)
{
    SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}

нет необходимости сохранять сцену в переменной, если мы не будем использовать ее в дальнейшем. это будет пустая трата памяти (дурная привычка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...