Unity3d:如何编写游戏对象(如立方体)的脚本/代码,以便将您传送到另一个游戏对象上?

Unity3d:如何编写游戏对象(如立方体)的脚本/代码,以便将您传送到另一个游戏对象上?,unity3d,unityscript,Unity3d,Unityscript,我对游戏开发行业非常陌生,我确实会看一些教程和其他东西来帮助我,但这不是重点。我使用Unity3d版本5制作游戏。我正在制作我的第一个基于跑酷的游戏。我需要知道如何编码/编写一个游戏对象,比如一个立方体,这样当你踩到它的时候,它会把你传送到另一个立方体上?就像在一些基本游戏中,可能有熔岩,如果你掉进熔岩中,它只会将你传送回关卡的起点。你需要这些: 尽管如此,这些都是统一的基础。我认为最好在自己动手做任何事情之前先开始深入学习一些教程。否则,您将浪费时间试图解决这些问题。如果您在阅读uni

我对游戏开发行业非常陌生,我确实会看一些教程和其他东西来帮助我,但这不是重点。我使用Unity3d版本5制作游戏。我正在制作我的第一个基于跑酷的游戏。我需要知道如何编码/编写一个游戏对象,比如一个立方体,这样当你踩到它的时候,它会把你传送到另一个立方体上?就像在一些基本游戏中,可能有熔岩,如果你掉进熔岩中,它只会将你传送回关卡的起点。

你需要这些:


尽管如此,这些都是统一的基础。我认为最好在自己动手做任何事情之前先开始深入学习一些教程。否则,您将浪费时间试图解决这些问题。

如果您在阅读unity文档后仍想知道如何解决这些问题,这将对您有所帮助:

1) 将碰撞器添加到玩家游戏对象(如果尚未为其指定碰撞器)和“熔岩立方体”游戏对象。选择“熔岩立方体”游戏对象碰撞器上的“是触发器”。制作一个新标签并将其放置在“熔岩”游戏对象上。你可以称这个标签为“熔岩”或任何你想要的东西

2) 在玩家脚本中,声明一个Vector3变量,该变量包含要将玩家“传送”到的点的坐标

3) 在同一个脚本中,您必须使用OnTiggerEnter(Collider)检测与带有tag=“lava”的游戏对象的碰撞,如果您检测到这样的碰撞,您应该将player.transform.position设置为之前声明的vector3

public Vector3 teleportTo;

void Awake()
{
    teleportTo = transform.position;
}

void OnTriggerEnter(Collider other)
{
    if (other.tag == "lava")
    {
        transform.position = teleportTo;
    }
}
如果您只想重新启动该级别,则可以使其更容易:

    void OnTriggerEnter(Collider other)
{
    if (other.tag == "lava")
    {
        Application.LoadLevel (Application.loadedLevel);
    }
}
这是你可以做到的方法之一。正确分配和配置刚体、碰撞器和标记非常重要