我是unity/scripting的新手。基本上,我想做的是使下一个级别(构建设置)加载碰撞。我创建了一个空对象并附加了一个盒子碰撞器。它可以正确加载指定的场景,但我想让它只加载下一个场景,这样我就不必创建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);
}
}
是的,有一个简单的方法。由于您已经相应地设置了构建设置,因此您可以执行以下操作:
Application.LoadLevel(Application.loadedLevel + 1);
,因为Application.loadedLevel
返回实际加载的电平。
注意处理关于最终关卡的特殊情况!
UPDATE:我刚刚注意到你的逻辑是相同的。但似乎你写的LoadLevel
而不是LoadedLevel
,在lvl
分配(LoadLevel()
是函数,LoadedLevel
是属性!)。