比较 UnityScript 中的标签
Compare tags in UnityScript
我们正在构建 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;
}
}
所以,我相信你的问题是,当你使用那个函数时,你只是在检查第一次碰撞。所以发生的事情是你得到球员或球的价值,而不是两者。您需要存储所有碰撞,以便比较所有碰撞。为此,您可以按照本文档的一般说明进行操作。 http://docs.unity3d.com/ScriptReference/Collision-contacts.html
它在谈论碰撞,但同样的一般原则应该适用。
希望对您有所帮助!
我们正在构建 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;
}
}
所以,我相信你的问题是,当你使用那个函数时,你只是在检查第一次碰撞。所以发生的事情是你得到球员或球的价值,而不是两者。您需要存储所有碰撞,以便比较所有碰撞。为此,您可以按照本文档的一般说明进行操作。 http://docs.unity3d.com/ScriptReference/Collision-contacts.html 它在谈论碰撞,但同样的一般原则应该适用。
希望对您有所帮助!