一个 VideoFrame 会像 Frame 那样渲染一个长方形,但是会移动的视频图像。视频必须是从 Roblox 网站上传的文件。
视频会按照整个长方体的大小进行调整,但在其 native 分辨率下显示时会最佳。
2D 和 3D 声音
一个 VideoFrame 放置在 SurfaceGui 下,在 BasePart 上发出声音从该部分的 BasePart.Position 发出声音。
一个 VideoFrame 展示 Doppler 效果,意味着它的频率和 pitch 与它所附加到的任何部分的相对运动变化。
视频框架的音量将由客户端的音频听取器(默认为 Camera 位置)和视频框架的部分位置决定。
如果在基地部件上放置 VideoFrame ,它将被视为 “全球” ,如果它不是在 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 当前播放的声返回。
确定是否同时输入。
对 GuiObject 的起始位置,相对于其绝对大小。
决定是否按照子内容进行调整。
确定 GuiObject 背景颜色。
确定 GuiObject 背景和边框的透明度。
确定 GuiObject 边框的颜色。
确定GuiObject边界的方式是与其尺寸相对于其他方式。
确定 GuiObject 边框的像素宽度。
决定是否在父 GUI 元素外的子元素 GuiObjects 会渲染。
确定玩家是否在 GuiObject 上主动按着。
确定 GuiButton 是否可以与或不可以与之交互,或 GuiState 的 GuiObject 是否正在变更或不变更。
控制使用 GuiObject 与 UIGridStyleLayout 时的排序顺序。
设置 GuiObject 将在游戏手柄选择器向下移动时选择。
设置 GuiObject 将在游戏手柄选择器移动到左侧时选择。
设置 GuiObject ,该选项卡将在游戏手柄选择器移动到右侧时被选中。
设置 GuiObject ,该选项卡将在游戏手柄选择器上移动时选择。
确定 GuiObject 的像素和向量位置。
确定GuiObject的旋转角度。
确定游戏手柄是否可以选择GUI。
覆盖游戏手柄的默认装饰。
游戏手柄选择 GuiObjects 的顺序。
确定 GuiObject 的像素和浮点大小。
设置 Size 轴,其父元素对象的大小将对应于其大小。
Class.GuiObject.BackgroundTransparency|BackgroundTransparency 和 TextTransparency 的混合属性。
确定 GuiObject 和它的子代是否会被渲染。
确定GuiObject 在其他人的相对位置上渲染的顺序。
描述 UI 元素的实际屏幕位置,以像素计。
描述 UI 元素的实际屏幕旋转度。
描述 UI 元素的实际屏幕大小,以像素计。
设置为“真”时,本地化将被应用到此 GuiBase2d 和它的子代。
一个引用 LocalizationTable 用于应用自动本地化到此 GuiBase2d 和它的子代。
在下向方向中自定义游戏手柄选择行为。
在左向向选择游戏手柄的行为进行自定义。
自定义游戏手柄选择行为在正确的方向。
在上向方向中自定义游戏手柄选择行为。
允许自定义游戏手柄选择移动。
方法
将 VideoFrame.Playing 设置为 false,如果 VideoFrame.Video 正在播放,则会暂停播放。
将 VideoFrame.Playing 设置为 true,从当前的 VideoFrame.Video 播放 VideoFrame.TimePosition。
- 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 元素上时,用户会滚动鼠标轮。
当 Gamepad 选择器对 GuiObject 时,发生了焦点错误。
当游戏手柄选择器停止对 GuiObject 的焦点时发生。
在玩家开始时,持续并停止长按 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 : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
在游戏手柄选择移动到,离开或更改连接的 GuiBase2d 或任何子对象。
属性
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。