0

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

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

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;
}
}
4

1 回答 1

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

于 2014-01-21T06:39:22.750 回答