Unity2D: инспектор выбрасывает прикрепленный объект - PullRequest
0 голосов
/ 24 сентября 2018

Описание проблемы: У меня есть два игровых объекта (Player, Fireball - оба являются префабами).Я порождаю Player.На момент GetMouseButtonDown, I Intitiating (выполнить внешний вид объекта Fireball).В этот момент я получил ошибку, которая появляется из-за того, что он выбросил прикрепленный объект [спрайт огненного шара], который является его детьми.

Как он был прикреплен: В папке Prefab я добавляю его Sprite(это его дети и спрайт), конечно, он ссылается на рендерер спрайтов, но мы можем пропустить это потому что работает.

Что работает:

Я играю в игру.Я нажимаю кнопку, чтобы вызвать объект Fireball, и он появляется.Огненный шар не двигается вправо, потому что он не прикрепил объект, который является спрайтом.В момент прикрепления этого спрайта от порожденного объекта Fireball из иерархии все работает и это здорово.Объект перемещается и исчезает так, как я хотел.

Если у кого-то возникла такая проблема, пожалуйста, помогите мне разобраться в этом и опишите проблему, почему она возникает.

Фото: 1 - показывает в инспекторе неприкрепленный объект для объекта огненного шара 2 - показывает, что все хорошо сделано в объекте игрока 3 - и здесь сценарий, как будто проблема лежит на стороне пера

1 Ответ

0 голосов
/ 24 сентября 2018

Переместите ваш префаб к сцене с отключенным режимом воспроизведения.Перетащите спрайт огненного шара в слот в вашем скрипте.Нажмите кнопку «Применить» в правом верхнем углу.Удалить сборный из иерархии.

Вместо того, чтобы делать это вручную, вы также можете ссылаться на визуализатор в вашем скрипте:

void Awake()
{
    fireballSprite = GetComponentInChildren<SpriteRenderer>();  
}
...