如何用新位置替换游戏对象的当前位置?

时间:2018-08-07 10:34:06

标签: unity3d vertical-scrolling

我想使用3D资源制作垂直滚动的背景(2D图片效果很好,但是我想要凉爽的灯光效果),但我一直做不到,尽管我做的如此简单。

所以这是我目前的进度:

public Vector3 target;
private Transform Top_Top_Left_Rescroll;

void Start (){
    target = GameObject.FindGameObjectWithTag ("Top_Top_Left_Rescroll").GetComponent<Transform>();
}

void Update () {
    if (gameObject.transform.position.y <= -12) {
        gameObject.transform.position = new Vector3 (target.x, target.y, target.z);
    }
}

}

在if语句(旋转和缩放不受影响)之后,对象将其位置重置为0,并且我用尽了所有想法来做自己想要的事情。

1 个答案:

答案 0 :(得分:1)

您正在将Transform传递给Vector3。 尝试:

target = GameObject.FindGameObjectWithTag("Top_Top_Left_Rescroll").transform.position;

ps:我不确定您是否真的希望目标位置永不改变,但是您在Start()期间传递了它的值,因此您将始终将gameObject放在每个帧中的相同初始位置。