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

Си шарп помогите я хз что делать

Melanya Tsigankova Ученик (146), на голосовании 3 месяца назад
2 ошибки не могу ладу дать, помогите пожалуйста. ошибки в юнити
Голосование за лучший ответ
Максим Искусственный Интеллект (213232) 4 месяца назад
Ты не с того начал изучать программирование. Изучать программирование надо с основ в обычном консольном приложении без всяких юнити. Повторяю, классы надо писать с большой буквы.
Melanya TsigankovaУченик (146) 4 месяца назад
это ваще не моя среда, я шарю в javascript html css и python. а сишарп мне нужен щас просто что бы некст бота сделать. перед одноклассниками повыпендриваться. а так в будущем я созданию игр время уделять не особо хочу
Максим Искусственный Интеллект (213232) Melanya Tsigankova, а при чем тут юнити балин?
666 Профи (620) 4 месяца назад
Ошибки в твоем коде связаны с тем, как ты используешь GetComponent и destination.
Ошибка CS0119: "Local function 'GetComponent<NavMeshAgent>()' must declare a body because it is not marked static extern."
Проблема: Ты пытаешься объявить функцию GetComponent<NavMeshAgent>() внутри метода Start(), что некорректно. Функции должны быть объявлены вне методов.
Решение: Перемести код agent GetComponent<NavMeshAgent>(); вне методов Start() и Update(), например, в начале класса agent:
 using UnityEngine.AI; 

public class agent : MonoBehaviour
{
public GameObject player;
private NavMeshAgent agent;

// Получение компонента NavMeshAgent
private void Awake()
{
agent = GetComponent();
}

private void Start()
{
// ...
}

private void Update()
{
// ...
}
}
Ошибка CS0117: "agent' does not contain a definition for 'destination'"
Проблема: destination - это не свойство класса NavMeshAgent. Для установки цели движения нужно использовать метод SetDestination.
Решение: Измени строку agent.destination = player.transform.position; на:
 agent.SetDestination(player.transform.position); 
Исправленный код:
 using UnityEngine.AI; 

public class agent : MonoBehaviour
{
public GameObject player;
private NavMeshAgent agent;

// Получение компонента NavMeshAgent
private void Awake()
{
agent = GetComponent();
}

private void Start()
{
// ...
}

private void Update()
{
// Установка цели движения
agent.SetDestination(player.transform.position);
}
}
Дополнительные советы:
Проверка: Убедись, что у твоего объекта, к которому прикреплен скрипт, есть компонент NavMeshAgent.
Навигационная сетка: Убедись, что у тебя есть навигационная сетка (NavMesh) в сцене, чтобы NavMeshAgent мог работать.
Надеюсь, это поможет тебе исправить ошибки и заставить твой код работать!
Melanya TsigankovaУченик (146) 4 месяца назад
спасибо большое!!! получилось)
Похожие вопросы