gpt4 book ai didi

unity3d - 比较 UnityScript 中的标签

转载 作者:行者123 更新时间:2023-12-01 08:16:28 25 4
gpt4 key购买 nike

我们正在构建一个 3D 游戏,现在我遇到了一个问题,我需要比较多个标签来激活或停用将玩家送回重生位置的触发器。

这是目前的代码:

#pragma strict

var spawnPoint : GameObject;

function OnTriggerStay ( other : Collider )
{
if (other.tag == "Player" && other.tag != "Ball")
{
other.tag == "Player";
other.gameObject.transform.position = spawnPoint.transform.position;
}

else if ( other.tag == "Ball" && other.tag == "Player" )
{

}
}

我不确定如何解决此问题以执行以下操作:

如果玩家在没有球与其碰撞的情况下触碰扳机,则玩家会重生。这是为了营造粒子杀死你的感觉。如果玩家在有球碰撞时触碰扳机,则玩家不会有任何反应,因此玩家可以自由通过。

我们想要做的是,我们想要将一个球推到间歇泉上方,使其覆盖它,如果间歇泉没有被覆盖并且玩家试图越过它,则玩家会重生。

我们还尝试了另一个代码,虽然它允许球传球,但不允许玩家传球。即使在球被放置之后。

#pragma strict

var spawnPoint : GameObject;

function OnTriggerStay ( other : Collider )
{
if (other.tag == "Ball")
{
other.enabled = false;
}

else if (other.tag == "Player")
{
other.gameObject.transform.position = spawnPoint.transform.position;
}
}

最佳答案

所以,我相信你的问题是,当你使用那个函数时,你只是在检查第一次碰撞。所以发生的事情是你得到球员或球的值(value),而不是两者。您需要存储所有碰撞,以便比较所有碰撞。为此,您可以按照本文档的一般说明进行操作。 http://docs.unity3d.com/ScriptReference/Collision-contacts.html它谈论的是碰撞,但同样的一般原则应该适用。

希望这对您有所帮助!

关于unity3d - 比较 UnityScript 中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844559/

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