Naw*_*waf 8 c# unity-game-engine
我试图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;
}
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*air 23
您无法直接指定x值,position因为它是从属性getter返回的值类型.(参见:无法修改返回值错误c#)
相反,您需要分配一个新Vector3值:
transform.position = new Vector3(transform.position.x + movespeed, transform.position.y);
Run Code Online (Sandbox Code Playgroud)
或者,如果您保持大部分坐标值相同,则可以使用该Translate方法相对移动:
transform.Translate(movespeed, 0, 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44614 次 |
| 最近记录: |