gpt4 book ai didi

triggers - 如何在输入另一个对撞机的触发器时禁用对撞机?

转载 作者:行者123 更新时间:2023-12-01 15:18:18 24 4
gpt4 key购买 nike

我正在构建一个玩家在路径上奔跑的游戏。当玩家触发对撞机时,将生成 2 个敌方对象。

我想要的是,当输入第一个碰撞器触发器时,我希望与第一个碰撞器有一定距离的第二个碰撞器被禁用一段时间。如何实现?

最佳答案

例如,如果您想禁用对撞机,这样它们就不会撞到墙上或从墙上反弹,那么您可以将对撞机的“isTrigger”变量更改为 true,将其更改为触发体积而不是固体对撞机。这具有禁用它的效果 - 因为它不会导致其他物体在撞击它时停止或反弹。

例如:

function Update() {
if (Input.GetKeyDown(KeyCode.X)) {
collider.isTrigger = true;
}
}

请注意,MouseOver 之类的功能仍然有效。

如果你想完全禁用它,你可以尝试 collider.enabled = false。我不确定这是否有效。如果没有,您可以随时缩小对撞机:

var myOldSize:Vector3;

function DisableBoxCollider(myCollider:BoxCollider)
{
//actually just resizes it
myOldSize=myCollider.size;
myCollider.size=Vector3(0,0,0);
}

function EnableBoxCollider(myCollider:BoxCollider)
{
if(myOldSize!=Vector3(0,0,0))
myCollider.size=myOldSize;
}

您可以使用上面的代码将其集成到您自己的项目中。我不会为您泄露所有代码,否则我们通常会错过学习编程和在 Stackoverflow 上发帖的重点。但它应该可以帮助您继续前进。尝试使用代码进行一些操作,如果您有任何问题,请返回此处询问他们,并提供一些代码来展示您的尝试。

关于triggers - 如何在输入另一个对撞机的触发器时禁用对撞机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com