GuiButton 是一個繼承自 GuiObject 的抽象類別。
它是可互動、可點擊的 ImageButton 和 TextButton 物件的基類。這個類別還定義了幾個用於互動行為的屬性,即 AutoButtonColor 和 Modal。
GuiButton 最重要的事件是 Activated,這是一個 多平台事件,當按鈕被啟用時會觸發。使用滑鼠時,這意味著點擊按鈕並在游標仍在用戶介面物件上方的情況下釋放按鈕。對於觸控,也是同樣的情況,但使用觸控而不是按鈕按下。最後,對於遊戲手把,當按下並釋放 A 按鈕時,Activated 會觸發,前提是選中了 GuiButton。簡而言之,此事件對於多平台用戶介面編程非常有用,因為它為單一用戶輸入提供了一個良好的通用介面。
概要
屬性
決定當滑鼠懸停或點擊按鈕時,按鈕是否自動改變顏色。
當 GuiButton 被懸停時將播放的 HapticEffect 實例。
如果在 GUI 元素可見時為 true,則滑鼠不會被鎖定,除非右鍵滑鼠按下。
當 GuiButton 被按下時將播放的 HapticEffect 實例。
一個布林值屬性,指示該物件是否已被選中。
根據預先確定的樣式列表設置 GuiButton 的樣式。
屬性
決定此 UI 元素是否接收輸入。
決定 GuiObject 的原點,根據其絕對大小。
決定是否根據子內容進行大小調整。
決定 GuiObject 背景顏色。
決定 GuiObject 背景和邊界的透明度。
決定 GuiObject 邊界的顏色。
決定 GuiObject 邊界的佈局方式,根據其尺寸。
決定 GuiObject 邊界的像素寬度。
決定父 GUI 元素邊界之外的子 GuiObjects 是否應該繪製。
決定玩家的滑鼠是否正在主動按下 GuiObject。
控制在使用 UIGridStyleLayout 時,GuiObject 的排序順序。
設置當遊戲手柄選擇器下移時將選擇的 GuiObject。
設置當遊戲手柄選擇器向左移動時將選擇的 GuiObject。
設置當遊戲手柄選擇器向右移動時將選擇的 GuiObject。
設置當遊戲手柄選擇器向上移動時將選擇的 GuiObject。
決定 GuiObject 的像素和比例位置。
決定 GuiObject 旋轉的度數。
決定 GuiObject 是否可以被遊戲手柄選擇。
覆蓋用於遊戲手柄的預設選擇裝飾。
由遊戲手柄 UI 選擇選擇的 GuiObjects 的順序。
決定 GuiObject 的像素和比例大小。
一個混合屬性,包含 BackgroundTransparency 和 TextTransparency。
決定 GuiObject 及其後代是否會被繪製。
決定 GuiObject 相對於其他物件的繪製順序。
屬性
方法
方法 繼承自 GuiObject方法
- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
將 GUI 平滑移動到新的 UDim2。
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : boolean,callback : function):boolean
平滑移動 GUI 到新的大小和位置。
活動
當按鈕被啟用時觸發。
當用戶的滑鼠完全左鍵單擊 GuiButton 時觸發。
當用戶按下左鍵滑鼠時觸發 GuiButton。
當用戶在 GuiButton 上釋放左鍵滑鼠時觸發。
當用戶的滑鼠完全右鍵單擊 GuiButton 時觸發。
當用戶按下右鍵滑鼠時觸發 GuiButton。
當用戶釋放右鍵滑鼠時觸發 GuiButton。
活動
當用戶通過人機介面設備開始互動時觸發(滑鼠按下、首次觸摸、鍵盤按下等)。
當用戶變更他們如何通過人機介面設備進行互動時觸發(滑鼠按下、首次觸摸、鍵盤按下等)。
當用戶停止通過人機介面設備進行互動時觸發(滑鼠按下、首次觸摸、鍵盤按下等)。
當用戶將滑鼠移入 GUI 元素時觸發。
當用戶將滑鼠移出 GUI 元素時觸發。
當用戶在 GUI 元素內移動滑鼠時觸發。
當用戶在 GUI 元素上滾動滑鼠滾輪向後時觸發。
當用戶在 GUI 元素上滾動滑鼠滾輪向前時觸發。
當 GUI 物件正在被遊戲手柄選擇器聚焦時觸發。
當遊戲手柄選擇器停止聚焦於 GUI 物件時觸發。
當玩家開始、持續和停止長按 UI 元素時觸發。
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
當玩家在 UI 元素上移動手指時觸發。
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
當玩家使用兩根手指在 UI 元素上執行捏或拉的手勢時觸發。
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
當玩家使用兩根手指在 UI 元素上執行旋轉手勢時觸發。
當玩家在 UI 元素上執行滑動手勢時觸發。
當玩家在 UI 元素上執行點擊手勢時觸發。
活動
- SelectionChanged(amISelected : boolean,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
當遊戲控制器選擇移至、離開或在連接的 GuiBase2d 或任何子孫 GuiObjects 內變更時觸發。
屬性
AutoButtonColor
此屬性決定當用戶的 Mouse 懸停或點擊按鈕時,按鈕是否自動改變顏色。如果為 true,當滑鼠懸停在按鈕上或點擊時,按鈕將自動改變顏色。如果為 false,則按鈕不會改變。
如果您想自定義按鈕在用戶滑鼠懸停或點擊時如何變化,請考慮使用 ImageButton,並更改該元素的 HoverImage 和 PressedImage。
請注意,如果 ImageButton 的 Image 屬性設置為一個圖片,則此屬性不會對其產生影響。此外,當其 HoverImage 不為 nil 時,此屬性不會影響 ImageButton 的滑鼠懸停,當其 PressedImage 不為 nil 時也不會影響滑鼠點擊。
方法
活動
Activated
當按鈕被啟用時觸發。由於該事件不會在伺服器上觸發,因此應僅在 LocalScript 中使用,或在 Script 中使用,並且其 RunContext 設置為 Enum.RunContext.Client。
參數
MouseButton1Click
當用戶的滑鼠完全左鍵單擊 GuiButton 時,該事件會觸發。
關於點擊,滑鼠必須在 GuiButton 的範圍內,且滑鼠按鈕必須按下然後再次釋放,然後該事件才會觸發。如果滑鼠離開 GuiButton 的範圍並釋放了,那麼事件將不會觸發。如果您希望避免這個限制,可以使用 MouseButton1Down 和 MouseButton1Up;這些事件類似,但會在用戶按下或釋放左鍵滑鼠時觸發。
MouseButton2Click
當用戶的滑鼠完全右鍵單擊 GuiButton 時,該事件會觸發。
關於點擊,滑鼠必須在 GuiButton 的範圍內,且滑鼠按鈕必須按下然後再次釋放,然後該事件才會觸發。如果滑鼠離開 GuiButton 的範圍並釋放了,那麼事件將不會觸發。如果您希望避免這個限制,可以使用 MouseButton2Down 和 MouseButton2Up;這些事件類似,但會在用戶按下或釋放右鍵滑鼠時觸發。