Хорошо,
Ваша проблема в этом утверждении
transform.position = (xpos, 0, 0);
Здесь компилятор исключает объект с точно таким же типом, как transform.position
справа от оператора присваивания (=
) , что Vector3
. Но когда вы присваиваете что-то вроде float, string
или что-то еще, это сбивает с толку и выдает ошибку, конечно, если два типа совместимы как flot = int
, это не будет проблема. Это то, что происходит здесь, когда вы вводите компилятор для типа объекта, который не определен ни в компиляторе, ни в проекте. Присвоение объекта другому объекту есть много способов сделать это.
1). Здесь я создаю новый объект Vector3
, вызывая его функцию-конструктор с ключевым словом new
.
transform.position = new Vector3(xpos, 0, 0)
2). Здесь у вас уже есть объект, созданный в начале программы, и вы можете изменить его по своему усмотрению, а затем назначить.
Vector3 position = new Vector3(0, 0, 0);
.
.
transform.position = position;
3). И последнее, вы можете напрямую назначить свойство одного объекта другому объекту
transform.position = transform2.position;