Перемещение простого объекта в Unity 2D
Я пытаюсь сделать простой Object
в Unity, но я получаю следующее сообщение об ошибке:
cannot modify the return value of unityengine.transform.position because itar is not variable
вот мой код:
using UnityEngine;
using System.Collections;
public class walk : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float movespeed = 0.0f;
movespeed++;
transform.position.x = transform.position.x + movespeed;
}
}
1 ответов
вы не можете назначить x
значение on position
непосредственно, поскольку это тип значения, возвращаемый из геттера свойств. (См.: Не удается изменить ошибку возвращаемого значения c#)
вместо этого вам нужно назначить новый Vector3
значение:
transform.position = new Vector3(transform.position.x + movespeed, transform.position.y);
или если вы сохраняете большинство значений координат одинаковыми, вы можете использовать Translate
способ вместо того, чтобы двигаться относительно:
transform.Translate(movespeed, 0, 0)