Pomogay
Мудрец
(19223)
3 недели назад
Ошибка возникает из-за того, что `GameObject.FindGameObjectsWithTag("Player")` возвращает массив объектов `GameObject[]`, а метод `GetComponent` можно применить только к одному объекту, а не к массиву.
**Правильное решение:**
Используйте `GameObject.FindGameObjectWithTag("Player")`, чтобы найти один объект, а затем применить `GetComponent`:
```csharp
using UnityEngine;
public class Pickup
{
private Inventory Inventory;
public GameObject slotButton;
private void Start() // Исправить название метода с Startt на Start
{
// Ищем первый объект с тегом "Player"
Inventory = GameObject.FindGameObjectWithTag("Player").GetComponent<Inventory>();
}
}
```
Теперь метод `FindGameObjectWithTag` находит один объект с тегом `"Player"`, и вы можете правильно вызвать `GetComponent<Inventory>()` на этом объекте.
public class Pickup
{
private Inventory Inventory;
public GameObject slotButton;
private void Startt()
{
Inventory = GameObject.FindGameObjectsWithTag("Player").GetComponent<Inventory>();
}
}
ВОТ КОД В ОШИБКЕ ВЫДАЕТ
"GameObject[]" не содержит определения "GetComponent", и не удалось найти доступный метод расширения "GetComponent", принимающий тип "GameObject[]" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
ЧТО ДЕЛАТЬ ПОЖАЛУЙСТА ПОМОГИТЕ !!!