博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity设置播放模式下始终先执行指定的场景
阅读量:6659 次
发布时间:2019-06-25

本文共 1210 字,大约阅读时间需要 4 分钟。

通过我们使用Unity开发游戏,是在PC/Mac上。而一个游戏通常也会有很多的场景,比如A、B、C、D三个场景,正常流程下的执行顺序是 A –> B –> C –> D。在具体一点,比如 A —— 启动场景、B —— 资源加载场景、C —— 登录场景、D —— 战斗场景。

 

游戏先启动 –> 加载资源 –> 登录 –> 进入战斗,而往往我们可能会选中战斗场景,然后调试战斗场景,而此时点Play按钮,运行Unity时,它会直接启动战斗场景,如果你忘记选中 A 场景再点启动,可能控制台就会报错,影响开发效率。如何解决呢?

 

Unity提供了相应不的API —— EditorSceneManager

[MenuItem("BuildTools/PlayModeUseFirstScene", true)]static bool ValidatePlayModeUseFirstScene(){    Menu.SetChecked("BuildTools/PlayModeUseFirstScene", EditorSceneManager.playModeFirstScene != null);    return !EditorApplication.isPlaying;}[MenuItem("BuildTools/PlayModeUseFirstScene")]static void UpdatePlayModeUseFirstScene(){    if (Menu.GetChecked("BuildTools/PlayModeUseFirstScene"))    {        EditorSceneManager.playModeFirstScene = null;    }    else    {        SceneAsset scene = AssetDatabase.LoadAssetAtPath
(EditorBuildSettings.scenes[0].path); EditorSceneManager.playModeFirstScene = scene; }}

路径的话,你可以参考官方示例写死,不过这里建议使用构建设置中的默认配置。

EditorBuildSettings 的 scenes 就是 File –> Build Settings 中 Scenes In Build中的列表

 

这样无论你当前编辑的是哪个场景,只要重新运行,都将执行第一个场景。上图中就是“Scenes/Title Screen”这个场景了。

 

因为这个是给编辑器写扩展插件,所以适当地了解插件的编写还是有必要的。经常使用的两类:

1、菜单:

2、;

其它的的API,如拖拽、Help、Tools,需要用到的时候再去查看官方提供的API。

转载地址:http://pwhto.baihongyu.com/

你可能感兴趣的文章
js实现的大根堆算法(基于链式的m叉树)
查看>>
黑马程序员---基础加强-----------------第一天(1)
查看>>
清晨起来,几道小题
查看>>
Git最佳实践建议
查看>>
云服务器使用感受腠藦矧用渀龵烾廊鼵晅藪买濷闉涓讌灡憰樲窨
查看>>
bzoj 1013: [JSOI2008]球形空间产生器sphere
查看>>
HAOI 2007 上升序列
查看>>
react native 之Githhub Poular项目分析
查看>>
python 使用socket远程发送命令并获得执行结果 的代码
查看>>
禁用button并移除onclick事件
查看>>
移动端H5页面解决软件键盘把页面顶起
查看>>
day11 ,12 闭包 迭代器 生成器
查看>>
第三课 nodejs读取文件
查看>>
c#获取电脑硬件信息参数说明(显卡篇 Win32_VideoController)
查看>>
C语言-从声卡录音的一个demo
查看>>
Spring NamedParameterJdbcTemplate 详解
查看>>
Kubernetes 最佳实践:映射外部服务
查看>>
lua lua解读
查看>>
Python之优先级问题(待修改)
查看>>
(HW)DFS and BFS(Java)
查看>>