UIDragDetector

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

UI拖动器 实例在体验中与 2D 用户界面元素互动,例如滑块和旋转器。主要功能包括:

  • UIDragDetector 放置在任何 GuiObject 实例下,以便通过所有输入无需单行代验证码即可拖动。

  • 从多个选项中选择,定义对象在移动过程中如何通过 DragStyle 来应答,并且可选择适用于轴、移动限制或拖动边界的选项。

  • 脚本可以对拖动对象进行操作来响应逻辑回应,例如调整设置。

  • UIDragDetectors 在 Studio 工作,只要你不是使用 选择移动 、0> 缩放0> 或 3> 旋转3> 工具,或某些插件或 Studio 的 UIDragDetectors6> 编辑器工具。

概要

属性

方法

活动

属性

ActivatedCursorIcon

ContentId
读取并联

将鼠标悬停图标设置为显示,当鼠标激活在此父子 UIDragDetector 下。如果此属性为空,探测器将使用默认标志。

要更改激活的鼠标标志,将此属性设置为您想要使用的图像的资产 ID 。

读取并联

确定拖动 UI 对象的边界行为,当探测器的 BoundingUI 设置为可设置。请参阅 Enum.UIDragDetectorBoundingBehavior 了解每个设置的详细信息。

BoundingUI

读取并联

设置时,UIDragDetector实例不会允许父级GuiObject的边界拖出 界面 实例的边界。

注意,如果父级 GuiObject 的一部分在 边界界面 之外,父级 Class.Gui 的初始输入位置在拖动开始时使用,并在拖动过程中的相对位置使用来检测边界检测,直到拖动对象的整个内部,然后对象将被限制在边界内。

CursorIcon

ContentId
读取并联

将鼠标悬停在此 UIDragDetector 的父级上时,显示鼠标标志。如果此属性为空,探测器将使用默认图标。

要更改鼠标标志,将此属性设置为您想要使用的图像的资产 ID 。

DragAxis

读取并联

Vector2 值,定义拖动对象的移动轴,当 DragStyle 设置为 Enum.UIDragDetectorDragStyle.TranslateLine 。轴在本地空间的 0> UIDragDet

读取并联

仅适用于通过 SetDragStyleFunction()AddConstraintFunction() 注册定义了关系的输入/输出的函数。设置注册函数的参照理论。

例如

DragRotation

读取并联

当前拖动执行的旋转。这个值是在 UIDragDetector 本地空间的相对度数,除非 ReferenceUIInstance 定义,在那里旋转是在该实例的本地空间和从其正向 X 轴定义的。

这个属性可以在没有激活拖动对象旋转的拖动对象时更改。

读取并联

仅适用于通过 SetDragStyleFunction()AddConstraintFunction() 注册定义空间的函数。设置注册函数的输入/输出的空间。

例如,如果探测器的父级 GuiObject 是一个旋转的父级 GuiObject 的子级,

读取并联

用于生成所提交的运动的方案,并且输入位置向量的流。请参阅Enum.UIDragDetectorDragStyle获取选项。

DragUDim2

读取并联

当前拖动以一个 UDim2 值表示的翻译完成。翻译通过 OffsetScale 值改变由 1> Class.UIDrag

这个属性可以在没有激活拖动对象移动时更改。

Enabled

读取并联

如果 trueUIDragDetector 会回应用户输入;如果 false ,它不会。

MaxDragAngle

读取并联

如果此属性大于 MinDragAngle ,旋转将被压缩在 MinDragAngleMaxDragAngle 之间。正向值会阻止时钟旋转,负向值会阻止反时钟旋转。

这不是限制;它只是阻止探测器尝试生成移动以保持在限制内。请参阅 AddConstraintFunction() 来添加自定义约束到拖动。

仅适用于 DragStyleEnum.UIDragDetectorDragStyle.Rotate 的旋转。

MaxDragTranslation

读取并联

如果相应的 Offset 和/或 Scale 值大于 MinDragTranslation 在所有尺寸上的范围内,交叉线/平面

这不是限制;它只是阻止探测器尝试生成移动以保持在限制内。请参阅 AddConstraintFunction() 来添加自定义约束到拖动。

仅适用于 DragStyleEnum.UIDragDetectorDragStyle.TranslateLineEnum.UIDragDetectorDragStyle.TranslatePlane

MinDragAngle

读取并联

如果此属性小于 MaxDragAngle ,旋转将被压缩在 MinDragAngleMaxDragAngle 之间。正向值会阻止时钟旋转,而负向值会阻止反时钟旋转。

这不是限制;它只是阻止探测器尝试生成移动以保持在限制内。请参阅 AddConstraintFunction() 来添加自定义约束到拖动。

仅适用于 DragStyleEnum.UIDragDetectorDragStyle.Rotate 的旋转。

MinDragTranslation

读取并联

如果相应的 Offset 和/或 Scale 值小于 MaxDragTranslation 在所有尺寸上的范围内,交叉线/平面

这不是限制;它只是阻止探测器尝试生成移动以保持在限制内。请参阅 AddConstraintFunction() 来添加自定义约束到拖动。

仅适用于 DragStyleEnum.UIDragDetectorDragStyle.TranslateLineEnum.UIDragDetectorDragStyle.TranslatePlane

ReferenceUIInstance

读取并联

一个 GuiObject 实例的本地空间和绝对中心位置是探测器的参考空间和起始位置。设置此参考会影响属性,例如 DragUDim2DragRotation 和 1> Class.

读取并联

一旦该建议的运动已被计算并可能受到限制,此模式用于确定如何移动 (或不移动工具) 受到 GuiObject 影响的 UIDragDetector。请参阅 Enum.UIDragDetectorResponseStyle 获取选项。

SelectionModeDragSpeed

读取并联

为翻译定义最大拖动速度为ScaleOffset的第一个祖先ScreenGui或1> Class.SurfaceGui1>的第一个4>

SelectionModeRotateSpeed

读取并联

定义 UIDragDetector 每秒可以旋转的最大角度。该值必须是正的,任何低于 0 的值都必须被压缩到 0

UIDragSpeedAxisMapping

读取并联

Enum.UIDragSpeedAxisMapping 值,决定 X / Y 维度拖动速度。

方法

AddConstraintFunction

添加一个函数来修改或限制所提出的移动。该函数接受一个输入UDim2 (位置)和漂浮 (旋转) 的所提出的移动,并返回一个 Datatype.UDim2 和漂浮的UDim2或未改进的移动。您可以添加多个函

输入以 DragSpace 属性定义的空间为输入空间,或作为第三个或第四个返回值,在 DragRelativity 属性上。输出应该以同一个空间和重力,除非

要将添加的限制函数移除,请在返回的连接对象上调用 Disconnect()

参数

priority: number

添加函数的优先级订单。更高的值取得优先权。

function: function

用于修改或限制所提交的运动。 此函数接受输入 UDim2 和所提交的运动的漂浮,并返回一个 Datatype.UDim2 和所提交的运动的漂浮。 它可以选择地返回


返回

使用此连接对象来移除限制函数。

GetReferencePosition

当没有 ReferenceUIInstance 设置时,此函数将返回拖动对象的父级 UDim2 (如果存在) 的位置,或者返回拖动对象的父级 GuiObject (如果存在)。

ReferenceUIInstance 设置时,此函数将返回该引用实例的 UDim2 位置。


返回

UDim2 位置是当前拖动的引用元素的位置。

GetReferenceRotation

当没有 ReferenceUIInstance 设置,此函数将旋转拖动对象的父亲 GuiObject (如果存在) 或返回拖动对象的旋转。

ReferenceUIInstance 设置时,此函数将返回该引用实例的旋转。


返回

旋转当前拖动的引用元素。

SetDragStyleFunction

void

如果 DragStyle 设置为 枚.UI

如果函数返回 nil ,对象不会移动。这对于脚本尚未收集到正确答案所需的所有信息有用,或在暂时情况下您想要对象保留在原位。

参数

function: function

监控DragContinue 信号. 此函数接受单个的屏幕空间输入位置并返回一个 UDim2 和漂浮在指定空间和重力中的拖动. 如果此函数返回 nil, 对象将不会移动.


返回

void

活动

DragContinue

DragStart 已初始化后,用户继续拖动 UI 元素时触发。

参数

inputPosition: Vector2

Vector2 代表当前输入位置。


DragEnd

当用户停止拖动 UI 元素时,火焰会熄灭。

参数

inputPosition: Vector2

Vector2 代表当前输入位置。


DragStart

当用户开始拖动 UI 元素时,火焰会立即点燃。

参数

inputPosition: Vector2

Vector2 代表当前输入位置。