C# 从统一的某个点开始场景?
我在游戏开发方面是个新手,我将Unity与C#结合使用,模型由Blender制造 我想知道,是否有一种方法可以从某个角度“播放”一个场景。例如,如果我有一个游戏(为了简单起见,现在只有一个场景)并且想测试游戏的某个部分(例如,我想测试这个场景中的第五个任务中的第三个,假设你只有成功完成第一个任务才能访问第二个任务,依此类推) 但我真的不想在我的场景中玩一段时间,只是为了达到我最初想要测试的点 我怎样才能做到这一点?如果以某种简单的方式是不可能的,那么有什么解决方法吗C# 从统一的某个点开始场景?,c#,unity3d,unity5,C#,Unity3d,Unity5,我在游戏开发方面是个新手,我将Unity与C#结合使用,模型由Blender制造 我想知道,是否有一种方法可以从某个角度“播放”一个场景。例如,如果我有一个游戏(为了简单起见,现在只有一个场景)并且想测试游戏的某个部分(例如,我想测试这个场景中的第五个任务中的第三个,假设你只有成功完成第一个任务才能访问第二个任务,依此类推) 但我真的不想在我的场景中玩一段时间,只是为了达到我最初想要测试的点 我怎样才能做到这一点?如果以某种简单的方式是不可能的,那么有什么解决方法吗 谢谢 不确定我是否理解正确,
谢谢 不确定我是否理解正确,但如果您想在项目中从一个场景跳到另一个场景,则始终可以使用sceneManager
希望有帮助。在您的类中,创建一个变量,该变量保存启动任务的值。e、 g.3 然后,出于测试目的,在Start()方法中,您可以检查该变量的值,并编写一些代码来更改场景中的元素,以表示相应的任务(本例中为3),例如角色的位置、下一个目标或特定于任务的任何内容 可以将此变量公开,以便可以从unity更改其值,而不是每次打开脚本
我不确定这对你的游戏是否可行,但如果你的每项任务都有很多变化,那么最好为每项任务设置不同的场景。以下是我如何完成任务的示例代码。。希望这对你有帮助。。 创建一个名为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");
}
}
这是屏幕截图。。。
也许你应该创建一些调试脚本,允许你覆盖当前活动任务(并人工检查必要任务的完成情况)。不清楚您的代码结构/依赖项是什么样子的,所以我尽可能具体。谢谢您的回答!因此,没有“统一的方式”来实现这一点?对于你所寻找的东西,没有一刀切的解决方案——因为每个游戏的结构都不同,每个游戏都需要自己的解决方案来人为地推进进程。我唯一的建议是,将调试脚本的变量公开,并将它们附加到场景中的一个空对象上——这将节省您在需要快速更改值以尝试不同任务时的时间。为什么您不能在Unity编辑器中打开要测试的场景并播放该场景?@Lews Therin yes I我能做到,但这不是我的观点。如果我想测试游戏中出现在这个场景“结尾”的某个东西(如果你把一个场景当作一个关卡),我想避免玩整个场景(我指的是一个场景)。我想你误解了我,我想过跳过游戏(在同一个场景中(!),因此,如果我想在这个场景结束时测试一些东西(如果场景是游戏中的一个关卡),我不必玩整个场景。这完全取决于你的游戏格式,以及你的游戏中哪些变量或属性发生了变化。例如,如果我们谈论的是分数,那么我会像其他人一样建议-将受进度影响的变量公开,这将允许您直接从编辑器中更改值。例如,如果你想测试一个玩家是否走过某个地方,我会设置一个空对象,将碰撞器设置为isTrigger。您也可以直接从编辑器切换iStriger。希望这能给你们一些帮助和想法。我真的觉得你们不太明白我想做什么。我想从某个点“播放”单个场景(不在场景之间切换、加载另一个场景等)