首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity 5.在新场景打开之前不保存场景

Unity 5.在新场景打开之前不保存场景
EN

Stack Overflow用户
提问于 2015-05-26 21:12:57
回答 4查看 1.7K关注 0票数 1

将此代码添加到编辑器窗口脚本中,通过脚本添加对象,然后尝试创建新场景。为什么unity在打开新场景之前不要求保存场景?

代码语言:javascript
复制
 Event e = Event.current;
         switch (e.type)
         {
             case EventType.keyDown:
                 {
                     if (e.keyCode == KeyCode.Escape)
                     {
                         GameObject b = new GameObject();
                         b.transform.position = new Vector3(0,0,0);
                     }
                     e.Use();    
                 }
                 break;
         }
EN

回答 4

Stack Overflow用户

发布于 2016-03-15 23:50:52

我不知道这是否有帮助,但是关于Unity 5中的脏话

您必须:

代码语言:javascript
复制
using UnityEditor.SceneManagement;

在代码的顶部。然后使用:

代码语言:javascript
复制
EditorSceneManager.MarkAllScenesDirty(); //or mark individual scenes as dirty

如果你有动态实例化游戏对象的自定义编辑器脚本,那是绝对必要的。(我有一个创建了一个基于瓦片的地图。在编辑器中看起来很棒。我会保存场景,然后玩游戏。它消失了……)

我不能完全归功于这个发现,然而,旧的unity 4帖子给我指明了正确的方向。

票数 3
EN

Stack Overflow用户

发布于 2015-05-27 00:34:18

http://answers.unity3d.com/questions/336751/is-editorutilitysetdirty-restricted-to-prefabs-or.html

这孩子是个天才。当我们更新的时候,我们到底应该如何发现像这样的垃圾的变化呢?

EditorApplication.MarkSceneDirty

票数 1
EN

Stack Overflow用户

发布于 2015-05-26 22:16:55

创建对象(或对场景中的对象执行任何操作)后,需要调用EditorUtility.SetDirty(b);。如果更改了编写的脚本上的值,则还需要将该值标记为脏,才能使更改持久。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30459627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档