C# 我需要你帮我修好暗门密码
所以我在unity中创建了一个游戏,我试图制作一个碰撞器和基于输入的开放系统,下面是我的代码:C# 我需要你帮我修好暗门密码,c#,unity3d,C#,Unity3d,所以我在unity中创建了一个游戏,我试图制作一个碰撞器和基于输入的开放系统,下面是我的代码: public class SecretDoor : MonoBehaviour { public GameObject secretDoor; public bool open; private void OnTriggerEnter(Collider other) { open = true; if (Input.GetKeyD
public class SecretDoor : MonoBehaviour
{
public GameObject secretDoor;
public bool open;
private void OnTriggerEnter(Collider other)
{
open = true;
if (Input.GetKeyDown(KeyCode.T))
{
secretDoor.SetActive(false);
}
}
private void OnTriggerExit(Collider other)
{
open = false;
secretDoor.SetActive(true);
}
}
它没有打开或关闭,所以我希望有人能帮助我。只有当播放器触到门时才会检查输入,您可能需要查看警告我想指出的是,wiki还声明此功能并不是在每一帧上都运行,这可能会妨碍使用此功能 请注意,仅当其中一个碰撞器还连接了刚体时,才会发送触发事件。触发事件将发送到禁用的单行为,以允许启用响应碰撞的行为
void OnTriggerStay(碰撞器其他)
{
//在这里检查代码
}
这是因为猜测开放布尔值是否正常工作(您应该检查它是否与您将其设置为public的情况相同)
因此,最好的方法可能是在update函数中使用open boolean实现这样的输入检测
void Update(){
如果(打开){
if(Input.GetKeyDown(KeyCode.T)){
//这里的东西
}
}
}
只有当玩家触摸门时,才会进行输入检查,您可能需要查看。警告!我想指出的是,wiki还声明此功能不会在每一帧上运行,这可能会妨碍此功能
请注意,仅当其中一个碰撞器还连接有刚体时,才会发送触发事件。触发事件将发送给禁用的单行为,以允许启用碰撞响应行为
void OnTriggerStay(碰撞器其他)
{
//在这里检查代码
}
这是因为猜测开放布尔值是否正常工作(您应该检查它是否与您将其设置为public的情况相同)
因此,最好的方法可能是在update函数中使用open boolean实现这样的输入检测
void Update(){
如果(打开){
if(Input.GetKeyDown(KeyCode.T)){
//这里的东西
}
}
}
ChilliPenguin布尔值工作正常,但当我单击t时门不会打开,但您不需要再做任何事情。我已使其工作正常。我刚刚更改了一些内容,并添加了一些新的内容。我的代码现在有所不同。谢谢。ChilliPenguin布尔值工作正常,但当我单击t时门不会打开,但您需要现在,我不需要做更多的事情了,我已经开始工作了。我只是改变了一些东西,添加了一些新的东西。我的代码现在不一样了。谢谢。