position | 屏幕上用于 int 字段的矩形。 |
label | (可选)显示在 int 字段前的标签。 |
value | 要编辑的值。 |
style | 可选 GUIStyle。 |
int 用户输入的值。
创建一个用于输入整数的文本字段。
Int Field in an Editor Window.
//Create a folder and name it "Editor" (Right click in your Project Asset folder and go to Create>Folder) if you don't already have one //Place this script in the Editor folder //This script creates a new menu at the top of the Editor named "Examples" with one item "Clone Object".
using UnityEngine; using UnityEditor;
class Example : EditorWindow { int clones = 1;
[MenuItem("Examples/Clone Object")] static void Init() { //Create the new Editor window and show it EditorWindow window = GetWindow(typeof(Example)); window.Show(); }
void OnGUI() { //The field which allows you to input the amount of clones of a GameObject you want clones = EditorGUI.IntField(new Rect(0, 35, position.width, 15), "Number of clones:", clones);
//If there isn't a currently selected GameObject, this message appears if (Selection.activeGameObject == null) EditorGUI.LabelField(new Rect(3, 3, position.width, 20), "Please click on a GameObject in your Scene!");
//Press the clone Button if (GUI.Button(new Rect(0, 55, position.width, 20), "Clone!")) { //Check that you have a GameObject selected if (Selection.activeGameObject != null) { //Loop until the number of clones is reached for (int i = 0; i < clones; i++) { //Spawn each of the clones Instantiate(Selection.activeGameObject, Vector3.zero, Quaternion.identity); } } } } }