0

目前我试图让一个 T 方块用我创建的线锁定它的位置,但我不确定如何获得一条线的 x 位置。现在我的 T 方块能够检测到它与线条碰撞。这是我当前的代码。

void LockPostion(float x)
{
    gObjTmp.transform.position = new Vector3 (x, this.transform.position.y, this.transform.position.z);
}

void OnCollisionEnter(Collision col)
{
    if (col.gameObject.tag == "Lines") 
    {
        Debug.Log ("Collision with line");
        LockPostion (minlockXPos);
    } 

}
4

1 回答 1

1

就像您用来this.transform.position获取this脚本附加到的对象的位置一样,col.transform.position应该用于获取从碰撞函数返回的其他对象的位置,或者 col.transform.position.x仅用于x轴。

void OnCollisionEnter(Collision col)
{
    if (col.gameObject.tag == "Lines")
    {
        Vector3 linePos = col.transform.position;
        float linePosX = col.transform.position.x;

        Debug.Log("Collision with line");
        LockPostion(linePosX);
    }
}
于 2018-02-06T05:51:00.420 回答