位置 | 在 Handles.matrix 空间中绘制按钮的位置。 |
方向 | 在 Handles.matrix 空间中绘制按钮的方向。 |
大小 | 句柄的视觉大小。如果您想获得不变的屏幕空间大小,请使用 HandleUtility.GetHandleSize。 |
拾取大小 | 用于检测点击的按钮的大小。如果您想获得不变的屏幕空间大小,请使用 HandleUtility.GetHandleSize。 |
封端函式 | 按钮的绘制风格。 |
bool 当用户点击按钮时为 True。
制作一个 3D 按钮。
这个按钮的工作方式与使用 GUI.Button 绘制的一个按钮相似,但它具有 3D 位置,并且由句柄函数绘制。
场景视图中的按钮句柄为矩形。
将以下脚本作为 ButtonExample.cs 添加到你的资源文件夹中,并将 ButtonExample 组件添加到场景中的对象。
using UnityEngine;
public class ButtonExample : MonoBehaviour {}
将以下脚本作为 ButtonExampleEditor.cs 添加到资源/编辑器中,并选择具有 ButtonExample 组件的对象。
using UnityEditor; using UnityEngine;
[CustomEditor(typeof(ButtonExample)), CanEditMultipleObjects] class ButtonExampleEditor : Editor { protected virtual void OnSceneGUI() { ButtonExample buttonExample = (ButtonExample)target;
Vector3 position = buttonExample.transform.position + Vector3.up * 2f; float size = 2f; float pickSize = size * 2f;
if (Handles.Button(position, Quaternion.identity, size, pickSize, Handles.RectangleHandleCap)) Debug.Log("The button was pressed!"); } }