Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Вопросы Мои Вопросы

Ошибка (error CS0246)

UnityC#2D

Сразу говорю я не программист, потихоньку везде смотрю и пытаюсь подражать. В разных местах у ребят не возникает проблем, а у меня ошибку выдает (The type or namespace name "RigidBody2D" could not be found (are you missing a using directive or an assembly reference?)), видать Юнити более новой версии, что-то изменилось. По коду C# ошибки проблема не использования "using". добавил, ничего не поменялось.



Код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using RigidBody2D;


public class Monstr : MonoBehaviour
{
    public Transform persona;
    public RigidBody2D monstrMove;

    // Start is called before the first frame update
    void Start()
    {
        monstrMove = GetComponent<RigidBody2D>();

    }

    // Update is called once per frame
    void Update()
    {
        float distToPersona = Vector2.Distance(transform.position, persona.position);
        Vector2.Distance(Transform.position, persona);
        Debug.log("Монстру до героя: " + distToPersona);
    }
}



ЗЫ: просьба описать как исправить это дело, и суть на пальцах.


Комментарии

2
Lev 7 месяцев назад

Это убери using RigidBody2D;
И это тоже Vector2.Distance(Transform.position, persona);

RigidBody2D это компонент который идет вместе с using UnityEngine;, но никак не отдельным namespacом как ты сделал)))
Vector2.Distance(Transform.position, persona); - строка вообще ничего не делает в коде и никуда не присваивается результат её значения, более того в ней ошибка, должно быть transform.position, transform это локальная переменная, а Transform это статический класс.

MoRpo 6 месяцев назад

убери using RigidBody2D;
и вместо
public RigidBody2D monstrMove;
поставь
public Rigidbody2D monstrMove;

Гости не могут отвечать на вопросы. Войдите на Сайт или Зарегистрируйтесь