Unity3D 2D重置2D对象位置

时间:2014-01-21 06:32:48

标签: unity3d unity3d-2dtools

我将以下脚本附加到对象上。 当它撞到左侧或右侧墙壁时,我想重新定位对象,但它似乎没有重置位置。

我确实在调试窗口中看到了“撞墙”。

function OnTriggerEnter2D (hitInfo : Collider2D)
{
var hitSide : boolean = false;

if (hitInfo.name == "leftWall")
{
    hitSide = true;
}
else if (hitInfo.name == "rightWall")
{
    hitSide = true;
}

if (hitSide)
{
            Debug.Log("Hit wall");
    transform.position.x = Screen.width /2;
    transform.position.y = Screen.height / 2;
}
}

1 个答案:

答案 0 :(得分:1)

您是否了解Unity Answers,这是一个与此类似的论坛网站?我不确定Screen.width / 2的行为.Screen.width只是屏幕宽度单位的计数。将其设置到此位置会告诉坐标系使用这些单位中的一半作为x坐标。根据您相机的当前位置和其他因素,这不是实现此目的的理想方式。 http://answers.unity3d.com/questions/466665/placing-a-gameobject-in-the-exact-center-of-the-ca.html