Version: 2017.3
public static bool isPlaying ;

描述

编辑器当前是否处于播放模式?

Setting isPlaying delays the result until after all script code has completed for this frame.

另请参阅:isPausedisPlayingOrWillChangePlaymode

// Simple editor Script that lets you save a scene while in play mode.
// WARNING: All Undo posibilities are lost after saving the scene.

import UnityEditor;

@MenuItem("Example/Save Scene while on play mode") static function EditorPlaying() { if(EditorApplication.isPlaying) { var sceneName : String = EditorApplication.currentScene; var path : String [] = sceneName.Split(char.Parse("/")); path[path.Length -1] = "Temp_" + path[path.Length-1]; var tempScene = String.Join("/",path);

EditorApplication.SaveScene(tempScene);

EditorApplication.isPaused = false; EditorApplication.isPlaying = false;

FileUtil.DeleteFileOrDirectory(EditorApplication.currentScene); FileUtil.MoveFileOrDirectory(tempScene, sceneName); FileUtil.DeleteFileOrDirectory(tempScene);

EditorApplication.OpenScene(sceneName); } }