【发布时间】:2018-11-17 21:31:46
【问题描述】:
似乎向下或方向向后移动而不是向前移动。 我试着做 - 50 而不是 + 50
objectstoMove[i].transform.position.x - 50
我也尝试在开头添加减号:
-objectstoMove[i].transform.position.x + 50
但到目前为止没有任何效果。物体移动缓慢而平稳,但我无法控制方向。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveObjects : MonoBehaviour
{
public float speed = 3f;
private GameObject[] objectstoMove;
// Use this for initialization
public void Init()
{
objectstoMove = GameObject.FindGameObjectsWithTag("Objecttomove");
}
// Update is called once per frame
void Update()
{
if (objectstoMove != null)
{
float step = speed * Time.deltaTime;
for (int i = 0; i < objectstoMove.Length; i++)
{
objectstoMove[i].transform.position = Vector3.MoveTowards(objectstoMove[i].transform.position, new Vector3(0, objectstoMove[i].transform.position.x + 50, 0), step);
}
}
}
}
【问题讨论】:
-
您可以分享更多关于您正在制作的东西的信息吗?否则,您所做的移动仅在 X 轴上,您必须在 2D 环境中操纵 y 值,在 3D 环境中操纵 z 值。
-
你为什么在
Y的位置上写objectstoMove[i].transform.position.x? =>"new Vector3(0, objectstoMove[i].transform.position.x + 50, 0)"