打开并在Unity3d中播放一个场景

时间:2011-07-22 21:50:54

标签: unity3d unityscript

我在Unity3D中完成了一个包含许多场景的项目。 在第一个场景中有按钮,每个按钮在点击时都会播放一个场景。 例如,如果玩家单击“显示气球”按钮,则将打开名为Balloon(包含气球对象及其动画)的场景。

如何使用JavaScript代码执行此操作?

3 个答案:

答案 0 :(得分:2)

请参阅Application.LoadLevel(...)

来自文档:

  

[...]。在加载级别之前,必须将其添加到级别列表中   在游戏中使用。 [...]

// Loads the level with index 0
Application.LoadLevel (0);

// Load the level named "HighScore".
Application.LoadLevel ("HighScore");

答案 1 :(得分:2)

您要做的第一件事就是将所需的所有级别添加到Build Settings Property中。 转到Unity或“文件”菜单,“构建设置”,然后将场景拖放到滚动窗口中。然后它会为它们分配一个逻辑号码(或者你可以按名称引用)。

Application.LoadLevel(0); // this loads the first level in the list
Application.LoadLevel("nameoflevel"); //does the same thing numerically except by name
Application.LoadLevel(Application.loadedLevel); //reloads current level
Application.LoadLevel(Application.loadedLevel + 1); //loads the next level in order
Application.LoadLevel(Application.loadedLevel - 1); //loads the prior level in order
Application.LoadLevel(Application.levelCount - 1); //loads the last level in list

答案 2 :(得分:1)

LoadLevel的int版本从构建设置中获取id。 你也可以调用字符串版本,它从项目视图中获取场景名称(虽然它仍然必须在构建设置中才能找到它)

转到文件 - >构建设置并将场景拖到那里,然后使用以下内容。

Application.LoadLevel("Ballon");

如果要重新加载当前级别,可以使用

Application.LoadLevel (Application.loadedLevel);

当然,您需要确保手动重置或销毁由场景创建并标记为DontDestroyOnLoad的任何内容。

是的,在构建中以任何顺序放置关卡的唯一方法是从构建设置菜单。您可以通过指定其名称或构建顺序来跳转到哪个级别,但是如果您想在构建序列中按顺序插入级别,并且只想从一个级别跳转到下一个级别(即,Menu-> Level1) - > Level2-> EndGame),你可以使用

Application.LoadLevel (Application.loadedLevel + 1);