Unityで単純なObject
を移動しようとしていますが、次のエラーメッセージが表示されます。
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;
}
}
x
の値は、プロパティゲッターから返される値の型であるため、position
に直接割り当てることはできません。 (参照: 戻り値エラーc#を変更できません )
代わりに、新しいVector3
値を割り当てる必要があります。
transform.position = new Vector3(transform.position.x + movespeed, transform.position.y);
または、ほとんどの座標値を同じに保つ場合は、代わりにTranslate
メソッドを使用して相対的に移動できます。
transform.Translate(movespeed, 0, 0)