版本:Unity 6 (6000.0)
语言英语
  • C#

Handles.Button

建议更改

成功!

感謝您幫助我們提升 Unity 說明的品質。儘管我們無法接受所有提交的建議,但我們確實会阅读使用者建議的每項變更,並視情況進行更新。

關閉

提交失敗

由於某種原因,您的建議變更無法提交。請在幾分鐘之後 <a>重試</a>。感謝您撥冗幫助我們提升 Unity 說明的品質。

關閉

取消

聲明

public static bool Button(Vector3 position, Quaternion direction, float size, float pickSize, Handles.CapFunction capFunction);

参数

位置 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!"); } }