VideoFrame 會像 Frame 一樣,用移動的視頻圖像來渲染一個矩形。視頻必須從 Roblox 網站上傳的檔案。
影片將隨著範圍的擴展而放大,但在原始解析度顯示時最佳。
2D 和 3D 音效
放置在 SurfaceGui 底下的一個 VideoFrame 會從 BasePart 的 BasePart.Position 發出聲音。
一個 VideoFrame 會展示 Doppler 效果,意味著它的頻率和傾斜度會隨著它附加到的任何部分而變化。
視頻框架的音量將會在客戶端的音效聆聽器(預設為Camera位置)和視頻框架的位置之間的距離決定。
如果在基地零件上放置 SurfaceGui 下,將視為 「全球」 如果它不是,聲音將在整個空間方播放相同的音量。
範例程式碼
local screenPart = Instance.new("Part")
screenPart.Parent = workspace
local surfaceGui = Instance.new("SurfaceGui")
surfaceGui.Parent = screenPart
local videoFrame = Instance.new("VideoFrame")
videoFrame.Parent = surfaceGui
videoFrame.Looped = true
videoFrame.Video = "rbxassetid://" -- add an asset ID to this
while not videoFrame.IsLoaded do
task.wait()
end
videoFrame:Play()
概要
屬性
指示當 VideoFrame.Video 從 Roblox 伺服器載入時,準備好可以玩 遊玩。
設定是否要在 VideoFrame.Video 播放完成後重複。
指示 VideoFrame.Video 是否正在播放。它可以設置開始或暫停播放。
取得 VideoFrame.Video 檔案的原始解析度。
指示 VideoFrame.Video 的長度以秒鐘計。
指示 VideoFrame.Video 的進度。
視頻文件的內容 ID 與 VideoFrame 對象有關。
指示VideoFrame.Video目前正在播返回的音量。
決定這個輸入是否會沉沒在此 UI 元素。
對 GuiObject 的起始點,相對於其絕對大小。
決定是否會在基於兒童內容的重新縮放。
決定 GuiObject 背景顏色。
決定 GuiObject 背景和邊框的透明度。
決定 GuiObject 邊框的顏色。
決定GuiObject邊框的大小與邊框相對位置。
決定 GuiObject 邊框的像素寬度。
決定是否在超級父元素 GUI 元素外會成像子元素 GuiObjects。
決定玩家的滑鼠是否正在按在 GuiObject 上或不是。
決定 GuiButton 是否可以與或不與互動,或是否要檢查 GuiState 的 GuiObject 是否正在變更或不變更。
使用 GuiObject 時,控制 UIGridStyleLayout 的排序順序。
設定 GuiObject 將在遊戲控制器選擇器向下移動時選擇。
設定 GuiObject ,當遊戲控制器選擇器移動到左邊時會選擇。
設置 GuiObject 將在遊戲控制器選擇器移動到右邊時選擇。
設定 GuiObject 將在遊戲控制器選手柄上移動時選擇。
決定 GuiObject 的像素和矢量位置。
確定 GuiObject 旋轉的程度。
確認遊戲控制器可以選擇 GUI 嗎。
覆蓋遊戲手柄的預設裝飾。
遊戲控制器選擇 GuiObjects 的程序順序。
決定 GuiObject 的像素和浮點大小。
Class.GuiObject.BackgroundTransparency|BackgroundTransparency 和 TextTransparency 的混合屬性。
決定是否要渲染 GuiObject 和它的子孫。
決定 GuiObject 與其他人相對的排名。
描述介面元素的實際屏幕位置,以幣晃。
描述 UI 元素的實際螢幕旋轉度。
描述 UI 元素的實際屏幕尺寸,以幣晃。
設為真的時,本地化將適用於此 GuiBase2d 和它的後代。
一個引用 LocalizationTable 以應用自動本地化到這個 GuiBase2d 和它的後代。
在下向方向中自訂遊戲控制器選擇行為。
在左向方向中自訂遊戲控制器選擇行為。
自訂遊戲控制器選擇行為。
在上方向中自訂遊戲控制器選擇行為。
允許自訂遊戲控制器選擇動作。
方法
將 VideoFrame.Playing 設置為 false,如果 VideoFrame.Video 正在播放,則會暫停播放。
將 VideoFrame.Playing 設置為 true,從當前的 VideoFrame.Video 播放來自 VideoFrame.TimePosition 的 1>Class.VideoFrame.Video1>。
- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
順滑地將一個 GUI 移至新的 UDim2 。
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
順滑地將 GUI 重新調整為新的 UDim2。
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
順滑地將一個 GUI 移動到新的尺寸和位置。
活動
發射 VideoFrame.Video 循環。
發射時,當 VideoFrame.Video 完成播放並停止時。
載入 VideoFrame.Video 時發射。
這個事件會在 VideoFrame.Video 暫停時發生,或設置 VideoFrame:Pause() 或設置 VideoFrame.Playing 為 false 時發生。
發射 VideoFrame.Video 使用 VideoFrame:Play() 函數或設置 VideoFrame.Playing 為 true 時發生。
發生時間發生時,使用者開始使用人機交互裝置 (滑鼠按鈕, 觸摸開始, 鍵盤按鈕等等)。
使用者改變人機交互裝置 (滑鼠按鈕、觸摸開始、鍵盤按鈕等) 時發生時間。
發生時間當使用者停止使用人類電腦介面裝置 (滑鼠按鈕關閉, 觸摸開始, 鍵盤按鈕下等) 時。
使用者移動滑鼠到 GUI 元素時會發生火焰。
發射一個使用者從 GUI 元素移動滑鼠時。
在使用者移動鼠標時,發射 GUI 元素內的任何時間。
發射時,使用者將鼠標輪向返回,當滑鼠位於一個 GUI 元素上。
發射時,使用者將鼠標輪向前移動,當滑鼠位於 GUI 元素上。
發射時 GuiObject 與遊戲控制器選擇器專注。
發射時Gamepad選擇器停止專注在GUI對象上。
玩家開始時、繼續和停止按長按 UI 元素。
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
玩家移動指針時發射。
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
發射時玩家使用兩個手指在 UI 元素上執行點擊或拉動動作時。
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
發生時玩家使用兩個手指在 UI 元素上執行旋轉動作時。
發射玩家在介面元素上執行擺動手勢時。
發射玩家在介面元素上執行點擊動作時。
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
發射在遊戲控制器選擇移動到,離開,或變更連接的 GuiBase2d 或任何子選項 GuiObjects。
屬性
Video
視頻文件的內容 ID 與 VideoFrame 對象有關。
範例程式碼
local screenPart = Instance.new("Part")
screenPart.Parent = workspace
local surfaceGui = Instance.new("SurfaceGui")
surfaceGui.Parent = screenPart
local videoFrame = Instance.new("VideoFrame")
videoFrame.Parent = surfaceGui
videoFrame.Looped = true
videoFrame.Video = "rbxassetid://" -- add an asset ID to this
while not videoFrame.IsLoaded do
task.wait()
end
videoFrame:Play()
方法
Pause
將 VideoFrame.Playing 設置為 false,如果 VideoFrame.Video 正在播放,則會暫停播放。
當 VideoFrame.TimePosition 不是重置時,當視頻重新開始時,它會從其前一個位置開始。
返回
Play
將 VideoFrame.Playing 設置為 true,這會播放 VideoFrame.Video,繼續從當前的 VideoFrame.TimePosition 。
返回
範例程式碼
local screenPart = Instance.new("Part")
screenPart.Parent = workspace
local surfaceGui = Instance.new("SurfaceGui")
surfaceGui.Parent = screenPart
local videoFrame = Instance.new("VideoFrame")
videoFrame.Parent = surfaceGui
videoFrame.Looped = true
videoFrame.Video = "rbxassetid://" -- add an asset ID to this
while not videoFrame.IsLoaded do
task.wait()
end
videoFrame:Play()
活動
Paused
這個事件會在 VideoFrame.Video 暫停時發生,或設置 VideoFrame:Pause() 或設置 VideoFrame.Playing 為 false 時發生。
參數
暫停視頻的內容ID。
Played
這個事件會發生,當 VideoFrame.Video 使用 VideoFrame:Play() 函數或設置 VideoFrame.Playing 為 true 時。
參數
播放視頻的內容 ID。