Как я могу назначить объект сценарию, если сценарий находится на другой сцене? - PullRequest
0 голосов
/ 08 февраля 2020

Перед началом игры у меня есть две сцены в редакторе:

Игра и главное меню

Before running the game

На объекте GameObject внизу у меня есть скрипт Scaling.

Если я перетащу куб на поле Object To Scale и запусту игру, он будет работать нормально. Я могу нажать на клавишу G, и куб будет нормально увеличиваться / уменьшаться.

Бит, если я перетащу NAVI в разделе «Игрок» в поле сценария Scaling Object To Scale, тогда при запуске игры NAVI будет уничтожен, так как теперь игрок (клон) находится на другой сцене.

Куб находится на той же сцене при запуске игры.

Теперь снимок экрана после запуска игры: Куб и GameObject с масштабированием Сценарий все еще находится на игровой сцене. Но теперь игрок находится в сцене DontDestroyOnLoad:

А затем в сценарии масштабирования отсутствует NAVI:

After running the game the Player with the NAVI child are in another scene

Игрок уже готов может мне стоит перетащить в скрипт Player prefab, а потом в скрипт найти NAVI child? Вместо перетаскивания NAVI.

1 Ответ

2 голосов
/ 08 февраля 2020

Похоже, что объект игрока, находящийся в сцене, уничтожается, а новый игрок создается из префаба. Так как оригинальный игрок со сцены уничтожен, ссылка на оригинальный NAVI также теряется. Если вы хотите, чтобы скрипт ссылался на NAVI на клонированном плеере, он должен быть присоединен к префабу плеера или его нужно искать и ссылаться во время выполнения.

Так что да, вы должны перетащить его к объекту NAVI на префабе игрока вместо игрока на сцене.

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