似乎向下或方向在向后移动而不是向前移动。 我尝试制作-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);
}
}
}
}
答案 0 :(得分:3)
您将x
值放入y
的{{1}}值
Vector3(x,y,z)
必须是
new Vector3(0, objectstoMove[i].transform.position.x + 50, 0), step);
答案 1 :(得分:1)
此:
new Vector3(0, objectstoMove[i].transform.position.x + 50, 0)
创建一个仅分配了 Y 分量的新矢量。例如,如果您想让对象向右移动,则应该这样:
myObject.position = myObject.position + Vector3.right * speed * Time.deltaTime;