EditorWindow.OnGUI 当界面

function OnGUI () : void

Description描述

Implement your own editor GUI here.

在这里实现自己的编辑器界面。

EditorWindow.OnGUI 当界面

Use OnGUI to draw all the controls of your window.
使用OnGUI来绘制窗口的所有控件。

// Simple script that saves frames from the Game View when on play mode
//当播放模式在游戏视图保存帧
// You can put later the frames togheter and create a video.
//可以把之后的帧放在一起,创建一个视频
// Note: The frames are saved next to the Assets folder.
//注意:帧被保存在临近的资源文件夹
using UnityEngine;
using UnityEditor;

public class SimpleRecorder : EditorWindow {
	string fileName = "FileName";

	string status = "Idle";
	string recordButton = "Record";
	bool recording = false;
	float lastFrameTime = 0.0f;
	int capturedFrame = 0;

	[MenuItem ("Example/Simple Recorder")]
	static void Init () {
	SimpleRecorder window =
	(SimpleRecorder)EditorWindow.GetWindow(typeof(SimpleRecorder));
	}

	void OnGUI () {
	fileName = EditorGUILayout.TextField ("File Name:", fileName);

	if(GUILayout.Button(recordButton)) {
		if(recording) { //recording 记录
			status = "Idle...";
			recordButton = "Record";
			recording = false;
		} else { // idle 废弃
			capturedFrame = 0;
			recordButton = "Stop";
			recording = true;
		}
	}
	EditorGUILayout.LabelField ("Status: ", status);
	}

	void Update () {
	if (recording) {
		if (EditorApplication.isPlaying && !EditorApplication.isPaused){
			RecordImages();
			Repaint();
		} else
			status = "Waiting for Editor to Play";
		}
	}

	void RecordImages() {
		if(lastFrameTime < Time.time + (1/24f)) { // 24fps
			status = "Captured frame " + capturedFrame;
			Application.CaptureScreenshot(fileName + " " + capturedFrame + ".png");
			capturedFrame++;
			lastFrameTime = Time.time;
		}
	}
}
Page last updated: 2011-6-24