Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 2.5D游戏中的角色移动_Unity3d - Fatal编程技术网

Unity3d 2.5D游戏中的角色移动

Unity3d 2.5D游戏中的角色移动,unity3d,Unity3d,我希望图形仅沿X轴移动 我有以下代码: var movement = Input.GetAxis("Horizontal"); transform.position += new Vector3(movement * Time.deltaTime * Speed, 0, 0); 但是这个数字不知怎么地朝着不同的方向移动。有什么不对劲吗?我的Y轴设置为0,您使用的是+=因此,如果您的起始位置不是0,您将添加起始值: 这个 转化为 transform.position = tr

我希望图形仅沿X轴移动

我有以下代码:

var movement = Input.GetAxis("Horizontal");
transform.position += new Vector3(movement * Time.deltaTime * Speed, 0, 0);

但是这个数字不知怎么地朝着不同的方向移动。有什么不对劲吗?我的Y轴设置为0,您使用的是+=因此,如果您的起始位置不是0,您将添加起始值: 这个

转化为

transform.position = transform.position + new Vector3(movement * Time.deltaTime * Speed, 0, 0);
你应该这样做

Vector3 temp = transform.position + new Vector3(movement * Time.deltaTime * Speed, 0, 0);
transform.position =new Vector3(temp.x,transform.position.y,0);
或者简言之

transform.position=new Vector3(transform.position.x+movement * Time.deltaTime * Speed,transform.position.y,0)

请更好地定义“奇怪地向不同方向移动”。您是否尝试记录图形的位置或附加调试器?尝试在inspector中观察变换的变化。也许照相机从错误的角度看物体?
transform.position=new Vector3(transform.position.x+movement * Time.deltaTime * Speed,transform.position.y,0)