我是unity/scripting的新手。基本上我想做的是使下一个级别(在build设置上)在碰撞时加载。我创建了一个空对象并在其上附加了一个盒子碰撞器。它正确加载了指定的场景,但是我想让它只加载下一个场景,这样我就不必创建 100 多个脚本。
这就是我一直在做的事情:
#pragma strict
function OnCollisionEnter(Collision : Collision)
{
if(Collision.collider.tag == "Player")
{
Application.LoadLevel("Easy17");
}
}
这是我迄今为止的进展:
#pragma strict
public var lvl = Application.LoadLevel;
function OnCollisionEnter(Collision : Collision)
{
if(Collision.collider.tag == "Player")
{
Application.LoadLevel(lvl + 1);
}
}
最佳答案
是的,有一个简单的方法。由于您已经相应地设置了build设置,因此您只需执行以下操作:
Application.LoadLevel(Application.loadedLevel + 1);
,因为 Application.loadedLevel
返回实际加载的关卡。
注意处理最终关卡的特殊情况!
更新:我刚刚注意到你的逻辑是一样的。但您似乎在 lvl
赋值中编写了 LoadLevel
而不是 LoadedLevel
(LoadLevel()
是函数, LoadedLevel
是属性!)。
关于unity-game-engine - 在 Unity3D 中加载下一个场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915008/