0

以下のスクリプトをオブジェクトに添付しています。左または右の壁に当たったときに、オブジェクトを中心に戻したいのですが、位置がリセットされないようです。

デバッグ ウィンドウに「hit wall」が表示されます。

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 に答える