Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Как исправить эту ошибку?

ошибка

Ошибка CS0029 Не удается неявно преобразовать тип "float" в "UnityEngine.Vector2". Assembly-CSharp D:\Unity Project\SpaceX\Assets\Scritps\EnemyCN.cs 17

вот сам код

1234567891011121314151617181920
 using UnityEngine; 
 
public class EnemyCN : MonoBehaviour 
{ 
    private Rigidbody2D rb; 
    Vector2 distance; 
    public float speed = 10f; 
    [SerializeField] public Transform player; 
 
    void Start() 
    { 
        rb = GetComponent<Rigidbody2D>(); 
    } 
 
    void Update() 
    { 
        distance = Vector2.Distance(transform.position, player.position); 
    } 
} 
Код на стадии разработки 
По дате
По рейтингу
Аватар пользователя
Новичок

distance = Vector2.Distance(transform.position, player.position);

Вот здесь. У вас distance тип Vector2.

а Vector2.Distance(transform.position, player.position) - тип float,
потому что Vector2.Distance - это расстояние между 2 - мя векторами.
Это не вектор, а число.