UIDragDetector

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

UIDragDetector インスタンスは、スライダーやスピナーなどのエクスペリエンス内の 2D ユーザーインターフェイス要素との相互作用を促進し、協力します。主な機能には以下があります:

  • どのインスタンスにも を配置して、コードの 1行もなくすべての入力でドラッグできるようにします。

  • 複数の DragStyle オプションから選択し、オブジェクトがResponseStyle を介して動作にどのように応答するかを定義し、オプションで轴、移動制限、またはドラッグ境界を適用します。

  • スクリプトは、ドラッグされたオブジェクトの操作に応答して、設定の調整などのロジック応答をドライブできます。

  • UIDragDetectors 作業は、 選択移動スケール 、または 回転 ツールを使用していない限り、Studioで行われます。特定のプラグインまたはStudioの UI編集ツール もしくは、 エディタ ツールも使用していません。

概要

プロパティ

方法

イベント

プロパティ

ActivatedCursorIcon

ContentId
並列読み取り

この UIDragDetector の親にマウスが有効になったときに表示されるカーソルアイコンを設定します。このプロパティが空白のままにされると、ディテクターはデフォルトのアイコンを使用します。

有効になったカーソルアイコンを変更するには、このプロパティを使用したい画像のアセットIDに設定します。

並列読み取り

検出器の BoundingUI が設設定するされたとき、ドラッグされた UI オブジェクトのバインディング行動を決定します。それぞれの設定の行動については、Enum.UIDragDetectorBoundingBehavior を参照してください。

BoundingUI

並列読み取り

設定する定されると、UIDragDetector インスタンスは、親の GuiObject の境界が バウンディングUI インスタンスの境界を超えてドラッグされることを許可しません。

GuiObject の一部が バウンディングUI 境界の外にある場合、ドラッグ開始時の初期入力位置とドラッグ中の相対位置は、ドラッグ後にドラッグオブジェクト全体が境界内にあるまで、バインディング検出に使用され、その後オブジェクトはバウンディング境界内に制限されます。

CursorIcon

ContentId
並列読み取り

マウスがこの UIDragDetector の親にホバーしたときに表示されるカーソルアイコンを設定します。このプロパティが空白のままにされると、ディテクターはデフォルトのアイコンを使用します。

カーソルアイコンを変更するには、このプロパティを使用したい画像のアセットIDに設定します。

DragAxis

並列読み取り

Vector2 ドラッグ済みオブジェクトの移動軸を定義する値は、DragStyleEnum.UIDragDetectorDragStyle.TranslateLine に設定されたとき、ドラッグ済みオブジェクトの軸を移動します。軸は、 が定義されていない限り、ローカルスペースで定義されます。その場合、軸はそのインスタンスのローカルスペースで定義されます。

並列読み取り

カスタムドラッグ関数を SetDragStyleFunction() または AddConstraintFunction() を通じて登録した場合にのみ適用されます。登録機能の入力/出力の相対性を定義するパラダイムを設定します。

たとえば、このプロパティを に設定した登録済み関数から を返すと、探知器の親が に移動し、同じ をこのプロパティを に設定して返すと、探知器の親が に移動します。

DragRotation

並列読み取り

現在のドラッグによって実行された回転。この値は、 が定義されていない限り、ローカルスペースに対して度数で定義され、その場合、回転はそのインスタンスのローカルスペースとその正の X 軸から定義されます。

ドラッグしてオブジェクトを回転させるアクティブな操作がない状態で、このプロパティを変更できます。

並列読み取り

カスタムドラッグ関数を SetDragStyleFunction() または AddConstraintFunction() を通じて登録した場合にのみ適用されます。登録機能の入力/出力のスペースを定義するパラダイムを設定します。

たとえば、探知器の親 が回転した親の子である場合:

並列読み取り

入力位置ベクトルのストリームを与えて提案された動作を生成するパラダイム。オプションについては、Enum.UIDragDetectorDragStyle を参照してください。

DragUDim2

並列読み取り

現在のドラッグによって行われた翻訳は、UDim2 値で表現されます。翻訳は、Offset または Scale 値の変更によって行われ、DragRelativity 値に応じてローカルスペースに相対するものであり、ReferenceUIInstance が定義されていない限り。

ドラッグして移動するアクティブなオブジェクトがない状態で、このプロパティを変更できます。

Enabled

並列読み取り

If 、ユーザーの入力に応答します;If 、そうではありません。

MaxDragAngle

並列読み取り

このプロパティが MinDragAngle より大きい場合、回転は MinDragAngleMaxDragAngle の範囲内に制限されます。正の値は時計回りの回転を妨げ、負の値は反時計回りの回転を妨げます。

これは制約ではありません; 単に検出器が制限内に留まるために動作を生成する試みを妨げるだけです。ドラッグにカスタム制約を追加するには、AddConstraintFunction() を参照してください。

関連しているのは、DragStyleEnum.UIDragDetectorDragStyle.Rotate である場合のみです。

MaxDragTranslation

並列読み取り

対応する Offset および/または Scale 値がすべての次元で MinDragTranslation より大きい場合、線形/平面翻訳は MinDragTranslation および MaxDragTranslation の範囲内に収まります。

これは制約ではありません; 単に検出器が制限内に留まるために動作を生成する試みを妨げるだけです。ドラッグにカスタム制約を追加するには、AddConstraintFunction() を参照してください。

関連しているのは、DragStyleEnum.UIDragDetectorDragStyle.TranslateLine または Enum.UIDragDetectorDragStyle.TranslatePlane である場合のみです。

MinDragAngle

並列読み取り

このプロパティが MaxDragAngle 未満である場合、回転は MinDragAngleMaxDragAngle の範囲内に収まります。正の値は時計回りの回転を妨げ、負の値は反時計回りの回転を妨げます。

これは制約ではありません; 単に検出器が制限内に留まるために動作を生成する試みを妨げるだけです。ドラッグにカスタム制約を追加するには、AddConstraintFunction() を参照してください。

関連しているのは、DragStyleEnum.UIDragDetectorDragStyle.Rotate である場合のみです。

MinDragTranslation

並列読み取り

対応する Offset および/または Scale 値がすべての次元で MaxDragTranslation より少ない場合、線形/平面翻訳は MinDragTranslation および MaxDragTranslation の範囲内に収まります。

これは制約ではありません; 単に検出器が制限内に留まるために動作を生成する試みを妨げるだけです。ドラッグにカスタム制約を追加するには、AddConstraintFunction() を参照してください。

関連しているのは、DragStyleEnum.UIDragDetectorDragStyle.TranslateLine または Enum.UIDragDetectorDragStyle.TranslatePlane である場合のみです。

ReferenceUIInstance

並列読み取り

ローカルスペースと絶対中心位置が検出器の参照スペースと起源である GuiObject インスタンス。この参照を設定すると、DragUDim2DragRotation、および DragAxis のようなプロパティが影響を受けます。

並列読み取り

提案されたモーションが計算され、潜在的に制限された後、このパラダイムは GuiObject によって影響を受ける UIDragDetector を移動するかどうかを決定するために使用されます。オプションは Enum.UIDragDetectorResponseStyle を参照してください。

SelectionModeDragSpeed

並列読み取り

翻訳の最大ドラッグ速度を、最初の祖先 ScaleOffset の組み合わせ、または ScreenGui または SurfaceGui に属する UIDragDetector に設定します。この値は正の値である必要があり、0 以下の値はすべて 0 にクリップされます。

SelectionModeRotateSpeed

並列読み取り

UIDragDetector が回転できる最大角度 per秒を定義します。この値は正の値である必要があり、0 以下の値はすべて 0 にクリップされます。

UIDragSpeedAxisMapping

並列読み取り

Enum.UIDragSpeedAxisMapping 値は、 X / Y 次元のドラッグ速度を決定します。

方法

AddConstraintFunction

提案された動作を変更または制限する機能を追加します。機能は、入力 UDim2 (位置) と浮動 (回転) の 提案 動作と UDim2 および浮動の 修正済み または未修正の動作を返します。priority で順番に呼び出される複数の機能を追加し、結果をチェーンで渡すことができます。

入力は、 プロパティによって定義されたスペースで、デルタまたは最終の希望位置/回転を基にして表現されます。出力は、指定された Enum.UIDragDetectorDragRelativityEnum.UIDragDetectorDragSpace を第 3 と第 4 の返回値として返すことで除外されない限り、同じ空間と相対性で表現される必要があります。

追加された制約関数を削除するには、返された接続オブジェクトに Disconnect() を呼び出します。

パラメータ

priority: number

このメソッドを介して追加された関数の優先順位の順序。高い値は低い値より優先されます。

既定値: ""
function: function

提案された動作を変更または制限する機能。この機能は、入力 UDim2提案 の動作の浮動、および UDim2修正済み または未修正の動作を返します。オプションで Enum.UIDragDetectorDragRelativityEnum.UIDragDetectorDragSpace を第 3 と第 4 の返却値として出力オーバーライドとして返すことができます。

既定値: ""

戻り値

この接続オブジェクトを使用して、制約関数を削除します。

GetReferencePosition

が設定する定されていない場合、この関数は、ドラッグされたオブジェクトの直接の親 の位置 (存在する場合) またはドラッグされたオブジェクトの位置 を返します。

ReferenceUIInstance が設定する定されると、この関数はその参照インスタンスの UDim2 位置を返します。


戻り値

UDim2 現在のドラッグの参照要素の位置。

GetReferenceRotation

ReferenceUIInstance が設定する定されていない場合、この関数はドラッグされたオブジェクトの直接の親 GuiObject (存在する場合)、またはドラッグされたオブジェクトの回転を返します。

ReferenceUIInstance が設定する定されると、この関数はその参照インスタンスの回転を返します。


戻り値

現在のドラッグの参照要素の回転。

SetDragStyleFunction

()

パスする関数は、DragStyleEnum.UIDragDetectorDragStyle.Scriptable に設定されている場合にのみ使用され、if と only が設定されている場合にのみ使用されます。指定された関数は、シグナルの画面スペース入力位置をタイプ Vector2 で受け取り、ドラッグの望みの動作を含む UDim2 (位置) と浮動 (回転) を返します。返却値のスペースと運動の相対性は、指定された DragSpace および DragRelativity プロパティで覆われない限り、第三と第四の返却値として指定された Enum.UIDragDetectorDragRelativity および Enum.UIDragDetectorDragSpace によって決定されます。

機能が nil を返す場合、オブジェクトは移動しません。これは、スクリプトがまだ正しい答えを提供するために必要なすべての情報を収集していない場合や、オブジェクトを現在の場所に留めたい一時的な場合など、スクリプトが正しい答えを提供するのに役立ちます。

パラメータ

function: function

DragContinue。この関数は、シグナルの画面スペース入力位置を受け取り、希望する動作を含む UDim2 と浮動を返し、希望のスペースと相対性でドラッグの希望動作を含みます。この機能が nil を返す場合、オブジェクトは移動しません。

既定値: ""

戻り値

()

イベント

DragContinue

ユーザーが DragStart が開始された後、UI 要素をドラッグ続行すると、炎が発生します。

パラメータ

inputPosition: Vector2

Vector2 現在の入力位置を表示します。


DragEnd

ユーザーがUI 要素をドラッグ中止すると発火します。

パラメータ

inputPosition: Vector2

Vector2 現在の入力位置を表示します。


DragStart

ユーザーがUI 要素をドラッグ開始すると、発火します。

パラメータ

inputPosition: Vector2

Vector2 現在の入力位置を表示します。