UIDragDetector

显示已弃用

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

UIDragDetector 实例可以促进和鼓励与体验中的 2D 用户界面元素的互动,例如滑块和旋转器。关键功能包括:

  • 在任何 GuiObject 实例下放置一个 UIDragDetector ,使其可以通过所有输入拖动而不需要单行代验证码。

  • 从多个DragStyle选项中选择,定义对象如何通过ResponseStyle响应运动,并可选地应用轴、移动限制或拖动边界。

  • 脚本可以回应拖动对象的操纵,驱动逻辑响应,例如调整设置。

  • 在工作室工作,只要你不使用选择、移动、缩放或旋转工具,或某些插件或工作室的编辑器工具。

概要

属性

方法

活动

属性

ActivatedCursorIcon

ContentId
读取并联

将鼠标激活时显示的滚动器图标设置为显示在此 UIDragDetector 的父辈上。如果此属性为空白,探测器将使用默认标志。

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

读取并联

当检测器的 BoundingUI 设置时,决定拖动的 UI 对象的边界行为。请参阅 Enum.UIDragDetectorBoundingBehavior 每个设置的行为细节。

BoundingUI

读取并联

设置时,UIDragDetector 实例不会允许父GuiObject 的边界超出 BoundingUI 实例的边界。

请注意,如果父 GuiObject 的一部分超出了 BoundingUI 边界,拖动开始时的初始输入位置和拖动期间的相对位置将被用于检测边界直到整个拖动对象都在边界内,然后对象将被限制在边界内。

CursorIcon

ContentId
读取并联

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

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

DragAxis

读取并联

Vector2 值,定义拖动对象的移动轴当 DragStyle 设置为 Enum.UIDragDetectorDragStyle.TranslateLine 时。轴在 UIDragDetector 定义,除非 ReferenceUIInstance 被定义,否则轴在该实例的本地空间定义。

读取并联

仅适用于通过 SetDragStyleFunction()AddConstraintFunction() 注册的自定义拖动函数。设置定义注册函数输入/输出相对性的范式。

例如,将注册函数的 返回设置为 将移动检测器的父 到 在指定的 中,而将相同的 返回设置为 将移动检测器的父 在指定的 。

DragRotation

读取并联

当前拖动执行的旋转。这个值在 UIDragDetector 定义为度与本地空间相关,除非 ReferenceUIInstance 被定义,否则旋转在该实例的本地空间和其正面的 X 轴中定义。

在没有激活拖动以旋转拖动对象时,可以更改此属性。

读取并联

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

例如,如果探测器的父GuiObject是旋转的父GuiObject的孩子:

读取并联

用于生成建议运动的方法,假设输入位置向量流。见 Enum.UIDragDetectorDragStyle 获取选项。

DragUDim2

读取并联

当前拖动执行的翻译以 UDim2 值表达。翻译通过 OffsetScale 值更改取决于 DragRelativity 值,并且与检测器的本地空间无关,除非定义了 ReferenceUIInstance

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

Enabled

读取并联

如果 true , 那么 UIDragDetector 会回应用户输入;如果 false , 它不会。

MaxDragAngle

读取并联

如果此属性大于 MinDragAngle ,旋转将被限制在 MinDragAngleMaxDragAngle 范围内。正向值会阻止顺时针旋转,而负向值会阻止反时针旋转。

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

仅相关如果 DragStyleEnum.UIDragDetectorDragStyle.Rotate

MaxDragTranslation

读取并联

如果相应的 Offset 和/或 Scale 值大于 MinDragTranslation 在所有维度中的值,线性/平面翻译将被卡在 MinDragTranslationMaxDragTranslation 范围内。

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

仅相关如果 DragStyleEnum.UIDragDetectorDragStyle.TranslateLineEnum.UIDragDetectorDragStyle.TranslatePlane

MinDragAngle

读取并联

如果此属性小于 MaxDragAngle ,旋转将被限制在 MinDragAngleMaxDragAngle 范围内。正向值会阻止顺时针旋转,而负向值会阻止反时针旋转。

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

仅相关如果 DragStyleEnum.UIDragDetectorDragStyle.Rotate

MinDragTranslation

读取并联

如果相应的 Offset 和/或 Scale 值小于 MaxDragTranslation 在所有维度中的值,线性/平面翻译将被限制在 MinDragTranslationMaxDragTranslation 范围内。

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

仅相关如果 DragStyleEnum.UIDragDetectorDragStyle.TranslateLineEnum.UIDragDetectorDragStyle.TranslatePlane

ReferenceUIInstance

读取并联

一个 GuiObject 实例,其本地空间和绝对中心位置是检测器的参考空间和起源。设置此参考会影响属性,例如 DragUDim2 , DragRotation , 以及 DragAxis 的行为。

读取并联

一旦提出的动作已计算并可能受到限制,这种方法被用来确定如何移动(或不移动工具)受到 《2》 《5》 影响的 《2》 。请参阅Enum.UIDragDetectorResponseStyle获取选项。

SelectionModeDragSpeed

读取并联

定义翻译的最大拖动速度为第一祖先 ScaleOffset 的组合,或 ScreenGuiSurfaceGui 属于第 UIDragDetector 。这个值必须是正的,任何低于 0 的值都会被限制为 0

SelectionModeRotateSpeed

读取并联

定义 UIDragDetector 可在每秒旋转的最大角度。这个值必须是正的,任何低于 0 的值都会被限制为 0

UIDragSpeedAxisMapping

读取并联

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

方法

AddConstraintFunction

添加一个函数来修改或限制提出的运动。函数接受输入 UDim2 (位置) 和浮动 (旋转) 的 提出的 运动和返回一个 UDim2 和浮动的 修改的 或未修改的运动。您可以添加多个函数,这些函数将按照 priority 的顺序调用,并将结果传递在链中。

输入可以用 DragSpace 属性定义的空间表达,也可以用 DragRelativity 属性定义的最终期望位置/旋转。输出应在同一空间和相对性下表达,除非被返回指定的 Enum.UIDragDetectorDragRelativityEnum.UIDragDetectorDragSpace 作为第三和第四个返回值。

要删除添加的约束函数,请在返回的连接对象上调用 Disconnect()

参数

priority: number

通过此方法添加的函数的优先级顺序。更高的值高于更低的值。

默认值:""
function: function

用于修改或限制提议的运动的函数。此函数接收输入 UDim2 并浮动 提出的 运动和返回一个 UDim2 和浮动的 修改的 或未修改的运动。它可以选择返回 Enum.UIDragDetectorDragRelativityEnum.UIDragDetectorDragSpace 作为第三和第四个返回值作为输出替换值。

默认值:""

返回

使用此连接对象来移除约束函数。

GetReferencePosition

当没有设置 时,此函数返回拖动对象的直接父辈 位置(如果存在),或者拖动对象的 位置。

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


返回

UDim2 当前拖动的参考元素位置。

GetReferenceRotation

当没有设置 ReferenceUIInstance 时,该函数返回拖动对象的直接父辈的旋转 GuiObject (如果存在),或者拖动对象的旋转。

当一个 ReferenceUIInstance 被设置时,该函数返回该引用实例的旋转。


返回

当前拖动的参考元素的旋转。

SetDragStyleFunction

()

传递一个函数,如果和仅如果 DragStyle 设置为 Enum.UIDragDetectorDragStyle.Scriptable 。给定的函数接收信号的屏幕空间输入位置类型 Vector2 ,并返回包含拖动所需运动的 UDim2 (位置) 和漂浮(旋转)的位置。返回值的空间和运动的相对性由 DragSpaceDragRelativity 属性决定,除非通过返回指定的 Enum.UIDragDetectorDragRelativityEnum.UIDragDetectorDragSpace 作为第三和第四个返回值来覆盖。

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

参数

function: function

监控DragContinue信号的函数。这个函数接收信号的屏幕空间输入位置,返回一个 UDim2 和浮动包含所需运动的拖动在所需空间和相对性的所需动作的位置。如果此函数返回 nil,对象不会移动。

默认值:""

返回

()

活动

DragContinue

当用户继续拖动 UI 元素后,DragStart 已启动时,发生火焰。

参数

inputPosition: Vector2

Vector2 代表当前输入位置。


DragEnd

当用户停止拖动 UI 元素时发生火灾。

参数

inputPosition: Vector2

Vector2 代表当前输入位置。


DragStart

当用户开始拖动 UI 元素时发生火灾。

参数

inputPosition: Vector2

Vector2 代表当前输入位置。