BadCats
@BadCats

Ошибка в коде в Unity 3d?

Всем привет, собственно на строке
PosZ = PosZ + speed * Time.deltaTime * transform.forward;//к текущей позиции добавили в направлении вперед немного))

возникает ошибка

Ошибка CS0019 Оператор "+" невозможно применить к операнду типа "float" и "Vector3"
и еще одна
Ошибка Cannot implicitly convert type `UnityEngine.Vector3' to `float'
Но вот что странно,
float PosZ = (float)hero.transform.position.z;
я уже даже явным привидением типов сделал.
и public float speed=2;
- т.е оба операнда типа float , но студия почему то считает, что один из них типа UnityEngine.Vector3
Не могу понять почему так.
Вот ссылка на полный скрипт: https://drive.google.com/file/d/0B605djhCYgF_WUItQ...
  • Вопрос задан
  • 587 просмотров
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Unity
transform.forward вообще то Vector3. Умножение вектора на число дает вектор. Т.е. вся правая часть (speed * Time.deltaTime * transform.forward) в результате дает вектор.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы