Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Error CS0029: Cannot implicitly convert type 'Player' to 'UnityEngine.GameObject' что делать

Руслан Султанов Ученик (172), на голосовании 1 месяц назад
     private void Start()
{
anim = GetComponent<Animator>();
player = Object.FindFirstObjectByType<Player>();
}
Голосование за лучший ответ
Твой Профессор Мастер (2119) 2 месяца назад
Но ведь... твоя переменная ожидает объект типа GameObject
Если же надо получить GameObject, к которому прикреплен скрипт Player, то надо получить доступ к свойству gameObject этого скрипта

private void Start()
{
anim = GetComponent<Animator>();
Player playerScript = Object.FindFirstObjectByType<Player>();
player = playerScript.gameObject; // Теперь player будет GameObject
}

А если player должен быть типа Player, то надо изменить тип переменной player на Player

private Player player; // Изменить тип переменной на Player

private void Start()
{
anim = GetComponent<Animator>();
player = Object.FindFirstObjectByType<Player>();
}

В этом случае player будет хранить ссылку на компонент Player, а не на GameObject.
Руслан СултановУченик (172) 2 месяца назад
да, спасибо, я всё исправил
Похожие вопросы