Unity3D入门(十二): PC 端游戏发布和发布常见问题

mayuan1993:

用触发器实现了自动开门,但是刚体在刚刚进入触发范围的时候,门会不停开关,完全进入触发范围才会打开门不动,离开触发范围会关门。

这个问题怎么解决?

[code=csharp]

public class zidongkaimen : MonoBehaviour

{

private Transform m_Transform;

void Start () {

m_Transform = gameObject.GetComponent();

}

void Update () {

if(Input.GetKeyDown(KeyCode.X))

{

OpenDoor();

}

if (Input.GetKeyUp(KeyCode.X))

{

CloseDoor();

}

}

public void OpenDoor()

{

m_Transform.Rotate(Vector3.up, 90);

}

public void CloseDoor()

{

m_Transform.Rotate(Vector3.up, -90);

}

void OnTriggerEnter(Collider coll)

{

if(coll.gameObject.name == "学生")

{

OpenDoor();

Debug.Log("自动开门");

}

}

void OnTriggerExit(Collider coll)

{

if(coll.gameObject.name == "学生")

{

CloseDoor();

Debug.Log("自动关门");

}

}

}

[/code]