从统一的某一点开始场景?

时间:2017-04-26 18:10:38

标签: c# unity3d unity5

我在游戏开发方面相当新,我将Unity与C#结合使用,并在Blender中制作模型。

我想知道,如果有办法从某一点“播放”一个场景。例如,如果我有一个游戏(现在简单的单个场景)并且喜欢测试游戏的某个部分(例如我想在这个场景中测试第5个任务中的第3个,假设你只能访问第2个任务如果你顺利完成了第一个,等等。)

但我真的不想在我的场景中播放一段时间,只是为了达到我原本想测试的地步。

我怎样才能做到这一点?如果以某种简单的方式无法实现,是否有某种解决方法?

谢谢!

3 个答案:

答案 0 :(得分:1)

不确定我是否理解正确,但如果你想在项目中从一个场景跳到另一个场景,你可以随时使用sceneManager。

https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html

希望有所帮助。

答案 1 :(得分:0)

在你的班级中,创建一个包含开始任务的值的变量。例如3。

然后出于测试目的,在Start()方法中,您可以检查该变量的值并编写一些代码来更改场景中的元素以表示相应的任务(在本例中为3),如位置角色,或下一个目标或任务特定的任何东西。

您可以将此变量公开,以便您可以从Unity更改其值,而不是每次都打开脚本。

我不确定你的游戏是否可行,但是如果每个任务都有很多改变的东西,最好为每个游戏设置一个不同的场景。

答案 2 :(得分:0)

以下是我如何做到的示例代码..希望这会对你有所帮助.. 创建一个名为GoScene1

的C#脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GoScene1 : MonoBehaviour {
    public void Scene1Change() {
        Application.LoadLevel("GoScene1");
    }
}

然后创建一个名为GoScene2的C#脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GoScene2 : MonoBehaviour {
    public void Scene2Change() {
        Application.LoadLevel("GoScene2");
    }
}

继续播放屏幕截图... enter image description here enter image description here

enter image description here