UIDragDetector 인스턴스는 슬라이더 및 스피너와 같은 경험의 2D 사용자 인터페이스 요소와의 상호 작용을 용이하게 하고 장려합니다.주요 기능은 다음과 같습니다:
코드 한 줄로 모든 입력을 통해 끌 수 있도록 하려면 UIDragDetector 아래에 모든 GuiObject 인스턴스를 배치하십시오.
여러 옵션 중에서 선택하고, 를 통해 개체가 움직임에 어떻게 반응하는지 정의하고, 선택적으로 축, 이동 제한 또는 드래그 경계를 적용합니다.
스크립트는 끌어온 개체의 조작에 응답하여 설정 조정과 같은 논리 응답을 드라이브할 수 있습니다.
스튜디오에서 작업하려면 선택하지 않고 , 이동하지 않고 , 크기 조정하기 또는 회전하기 도구 또는 특정 플러그인이나 Studio의 UI 편집기 도구를 사용하지 않아야 합니다.
요약
속성
이 UIDragDetector 의 부모에 마우스가 활성화될 때 커서 아이콘을 표시하도록 설정합니다.
검색기의 BoundingUI가 설정되면 끌어온 UI 개체의 바인딩 행동을 결정합니다.
바인딩 영역이 부모 GuiObject의 드래그 경계를 정의하는 인스턴스.
마우스가 이 UIDragDetector 의 부모에 놓일 때 커서 아이콘을 표시하도록 설정합니다.
UIDragDetector 인스턴스의 드래그 축이 DragStyle로 설정되어 있을 때 Enum.UIDragDetectorDragStyle.TranslateLine입니다.
사용자 지정 드래그 함수의 입력/출력 상대성을 정의하는 패러다임을 설정합니다.
현재 드래그에 의해 수행된 회전.
사용자 지정 드래그 함수에서 입력/출력 공간을 정의하는 패러다임을 설정합니다.
제안된 동작을 생성하는 데 사용되는 패러다임.
현재 드래그가 표현된 값 UDim2 에서 수행된 번역.
UIDragDetector가 사용자 입력에 응답하는지 여부.
MinDragAngle 와 함께, 검출기가 회전 운동을 생성하려는 시도를 방해합니다.
MinDragTranslation 와 함께, 검출기가 선형/평면 운동을 생성하려는 시도를 방해합니다.
MaxDragAngle 와 함께, 검출기가 회전 운동을 생성하려는 시도를 방해합니다.
MaxDragTranslation 와 함께, 검출기가 선형/평면 운동을 생성하려는 시도를 방해합니다.
로컬 공간과 절대 중앙 위치가 검출기의 참조 공간과 원점인 GuiObject 인스턴스.
제안된 동작에 대한 응답을 정의하는 데 사용된 패러다임.
번역을 위한 최대 드래그 속도.
UIDragDetector가 회전할 수 있는 초당 최대 각도.
Enum.UIDragSpeedAxisMapping 값은 X / Y 차원 드래그 속도를 결정합니다.
메서드
제안된 동작을 수정하거나 제한하는 함수를 추가합니다.
현재 드래그의 참조 원본의 UDim2 위치를 반환합니다.
현재 드래그의 참조 요소의 참조 회전을 반환합니다.
DragStyle 가 Enum.UIDragDetectorDragStyle.Scriptable 로 설정되면 사용할 함수를 전달하고, 그리고 오직 그렇게 설정되면 사용합니다.
이벤트
사용자가 DragStart 이후에 UI 요소를 계속 드래그하면 발생합니다.
사용자가 UI 요소를 끌기를 중지하면 발생합니다.
사용자가 UI 요소를 드래그하기 시작할 때 발생합니다.
속성
ActivatedCursorIcon
이 UIDragDetector 의 부모에 마우스가 활성화될 때 커서 아이콘을 표시하도록 설정합니다.이 속성이 비어 있으면 검색기가 기본 아이콘을 사용합니다.
활성화된 커서 아이콘을 변경하려면 이 속성을 사용하려는 이미지의 자산 ID로 설정합니다.
BoundingBehavior
탐지기의 BoundingUI가 설정되면 끌어온 UI 개체의 바인딩 행동을 결정합니다. 각 설정의 행동에 대한 자세한 내용은 Enum.UIDragDetectorBoundingBehavior에 참조하십시오.
BoundingUI
설정되면 UIDragDetector 인스턴스는 부모의 경계를 GuiObject 경계 밖으로 끌 수 없도록 합니다.When set, the instance will not allow the bounds of the parent to be dragged outside the bounds of the BoundingUI instance.
부모의 일부 가 경계 UI 경계 밖에 있으면 드래그 시작 시의 초기 입력 위치와 드래그 중의 상대 위치가 바인딩 감지에 사용되어 끌어온 개체의 전체가 경계 내에 있을 때까지 개체가 제한됩니다. 그 후에는 개체가 경계 내에서 제한됩니다.
CursorIcon
마우스가 이 UIDragDetector 의 부모에 놓일 때 커서 아이콘을 표시하도록 설정합니다.이 속성이 비어 있으면 검색기가 기본 아이콘을 사용합니다.
커서 아이콘을 변경하려면 이 속성을 사용하려는 이미지의 자산 ID로 설정합니다.
DragAxis
Vector2 드래그된 개체의 이동 축을 정의하는 값은 DragStyle 가 Enum.UIDragDetectorDragStyle.TranslateLine로 설정되었을 때 드래그된 개체의 이동 축을 정의합니다.축은 UIDragDetector 에서 정의되지 않으면 로컬 공간에서 정의되며, 그렇지 않으면 ReferenceUIInstance 에서 정의되어 해당 인스턴스의 로컬 공간에 축이 정의됩니다.
DragRelativity
사용자 지정 드래그 함수가 SetDragStyleFunction() 또는 AddConstraintFunction()를 통해 등록되는 경우에만 적용됩니다.등록된 함수의 입력/출력의 상대성을 정의하는 패러다임을 설정합니다.Sets the paradigm which defines the relativity of the registered function's inputs/outputs.
예를 들어, 이 속성이 로 설정된 등록된 함수에서 로 반환하면 탐지기의 부모가 지정된 에서 로 이동하고, 동일한 을 로 반환하면 탐지기의 부모가 지정된 에서 이동합니다.
DragRotation
현재 드래그에 의해 수행된 회전.이 값은 가 정의되지 않은 경우를 제외하고 로컬 공간에서 정의되며, 이 경우 회전은 해당 인스턴스의 로컬 공간과 그 긍정적인 X 축에서 정의됩니다.
끌어서 회전하는 활성 드래그가 없는 상태에서 이 속성을 변경할 수 있습니다.
DragSpace
사용자 지정 드래그 함수가 SetDragStyleFunction() 또는 AddConstraintFunction()를 통해 등록되는 경우에만 적용됩니다.등록된 함수의 입력/출력 공간을 정의하는 패러다임을 설정합니다.Sets the paradigm which defines the space of the registered function's inputs/outputs.
예를 들어, 검출기의 부모 가 회전된 부모의 자식이면:
이 속성이 UDim2.fromOffset(1, 0) 로 설정된 등록된 함수에서 Enum.UIDragDetectorDragSpace.Parent 를 반환하면 검출기의 부모 GuiObject 가 부모의 회전에 영향을 받는 로컬 공간에서 1픽셀 오른쪽으로 이동됩니다.
이 속성이 UDim2.fromOffset(1, 0) 로 설정된 등록된 함수에서 Enum.UIDragDetectorDragSpace.LayerCollector 를 반환하면 검출기의 부모 GuiObject 가 공간의 LayerCollector 에서 1픽셀 오른쪽으로 이동됩니다.
DragStyle
입력 위치 벡터 스트림을 제공하면 제안된 동작을 생성하는 데 사용된 패러다임을 참조하십시오. 옵션은 Enum.UIDragDetectorDragStyle에 참조하십시오.
DragUDim2
현재 드래그가 표현된 값 UDim2 에서 수행된 번역.번역은 Offset 또는 Scale 값 변경을 통해 수행되며, 값 DragRelativity 에 따라 검색기의 로컬 공간과 관련이 없으면 ReferenceUIInstance 가 정의되지 않은 경우에만 상대적입니다.
끌려는 개체를 이동하는 활성 드래그가 없는 상태에서 이 속성을 변경할 수 있습니다.
MaxDragAngle
이 속성이 더 크면 MinDragAngle , 회전은 MinDragAngle 및 MaxDragAngle 범위 내에서 제한됩니다.긍정적인 값은 시계 방향으로의 회전을 방해하고 부정적인 값은 반시계 방향으로의 회전을 방해합니다.
이것은 제약 조건이 아니며, 단지 검출기가 제한 내에 머무르기 위해 움직임을 생성하려는 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.
관련성이 있으려면 DragStyle 가 Enum.UIDragDetectorDragStyle.Rotate 이어야 합니다.
MaxDragTranslation
해당 Offset 및/또는 Scale 값이 모든 차원의 MinDragTranslation 값보다 크면 선형/평면 번역이 MinDragTranslation 및 MaxDragTranslation 범위 내에서 제한됩니다.
이것은 제약 조건이 아니며, 단지 검출기가 제한 내에 머무르기 위해 움직임을 생성하려는 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.
관련성이 있는 경우는 DragStyle 가 Enum.UIDragDetectorDragStyle.TranslateLine 또는 Enum.UIDragDetectorDragStyle.TranslatePlane 인 경우에만 해당됩니다.
MinDragAngle
이 속성이 MaxDragAngle 보다 작으면 회전이 MinDragAngle 및 MaxDragAngle 범위 내에서 제한됩니다.긍정적인 값은 시계 방향으로의 회전을 방해하고 부정적인 값은 반시계 방향으로의 회전을 방해합니다.
이것은 제약 조건이 아니며, 단지 검출기가 제한 내에 머무르기 위해 움직임을 생성하려는 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.
관련성이 있으려면 DragStyle 가 Enum.UIDragDetectorDragStyle.Rotate 이어야 합니다.
MinDragTranslation
해당 Offset 및/또는 Scale 값이 모든 차원의 MaxDragTranslation 값보다 작으면 선형/평면 번역이 MinDragTranslation 및 MaxDragTranslation 범위 내에서 제한됩니다.
이것은 제약 조건이 아니며, 단지 검출기가 제한 내에 머무르기 위해 움직임을 생성하려는 시도를 방해합니다.드래그에 사용자 지정 제약 조건을 추가하려면 AddConstraintFunction()를 참조하십시오.
관련성이 있는 경우는 DragStyle 가 Enum.UIDragDetectorDragStyle.TranslateLine 또는 Enum.UIDragDetectorDragStyle.TranslatePlane 인 경우에만 해당됩니다.
ReferenceUIInstance
로컬 공간과 절대 중앙 위치가 검출기의 참조 공간과 원점인 GuiObject 인스턴스.이 참조를 설정하면 DragUDim2 , DragRotation 및 DragAxis의 속성과 동작이 영향을 받습니다.
ResponseStyle
제안된 동작이 계산되고 제한되면 이 패러다임은 영향을 받은 를 이동(또는 이동하지 않음)하는 방법을 결정하는 데 사용됩니다.옵션은 Enum.UIDragDetectorResponseStyle 참조하십시오.
SelectionModeDragSpeed
번역에 대한 최대 드래그 속도를 첫 번째 조상 또는 또는 소속된 의 조합으로 정의합니다.이 값은 양수여야 하며, 0 이하의 모든 값은 0 에 클램핑됩니다.
SelectionModeRotateSpeed
UIDragDetector가 회전할 수 있는 최대 각도 초당 정의합니다.이 값은 양수여야 하며, 0 아래의 모든 값은 0에 클램핑됩니다.
메서드
AddConstraintFunction
제안된 동작을 수정하거나 제한하는 함수를 추가합니다.함수는 입력 (위치)과 제안 운동의 부동(회전)을 받아들이고 및 수정된 또는 수정되지 않은 운동의 부동과 부동을 반환합니다.priority 순서대로 호출될 여러 함수를 추가하여 결과를 체인으로 전달할 수 있습니다.
입력은 속성에 의해 정의된 공간에서 델타 또는 최종 원하는 위치/회전을 기반으로 하는 속성에 따라 표현됩니다.출력은 특정 Enum.UIDragDetectorDragRelativity 및 Enum.UIDragDetectorDragSpace 을 세 번째와 네 번째 반환 값으로 반환하여 재정의되지 않는 한 동일한 공간과 상대성으로 표현해야 합니다.
추가된 제약 조건 함수를 제거하려면 반환된 연결 개체에서 Disconnect()를 호출하십시오.
매개 변수
이 메서드를 통해 추가된 함수의 우선 순위 순서. 더 높은 값이 더 낮은 값보다 우선합니다.
제안된 동작을 수정하거나 제한하는 함수.이 함수는 입력 과 제안된 제안된 모션의 부동 및 수정된 수정된 또는 수정되지 않은 모션의 부동을 반환합니다.선택적으로 Enum.UIDragDetectorDragRelativity 및 Enum.UIDragDetectorDragSpace 을 세 번째와 네 번째 반환 값으로 출력 무시로 반환할 수 있습니다.
반환
이 연결 개체를 사용하여 제약 조건 함수를 제거합니다.
GetReferencePosition
가 설정되지 않으면 이 함수는 끌어온 개체의 즉시 부모 위치(있는 경우) 또는 끌어온 개체의 위치 (있는 경우)를 반환합니다.
ReferenceUIInstance가 설정되면 이 함수는 해당 참조 인스턴스의 UDim2 위치를 반환합니다.
반환
GetReferenceRotation
ReferenceUIInstance가 설정되지 않으면 이 함수는 끌어온 개체의 즉시 부모가 GuiObject(있는 경우) 또는 끌어온 개체의 회전을 반환합니다.
ReferenceUIInstance가 설정되면 이 함수는 해당 참조 인스턴스의 회전을 반환합니다.
반환
현재 드래그의 참조 요소 회전.
SetDragStyleFunction
DragStyle 가 Enum.UIDragDetectorDragStyle.Scriptable 로 설정되면 사용할 함수를 전달하고, 그리고 오직 그렇게 설정되면 사용합니다.지정된 함수는 신호의 화면 공간 입력 위치를 유형 Vector2 으로 받고, 드래그의 원하는 움직임을 포함하는 UDim2 (위치)와 부동 소멸(회전)을 반환합니다.반환 값의 공간과 운동의 상대성은 특정 반환된 세 번째와 네 번째 반환 값으로 재정의되지 않는 한 및 속성에 의해 결정됩니다.
함수가 nil를 반환하면 개체가 이동되지 않습니다.스크립트가 올바른 답변을 제공하기 위해 필요한 모든 정보를 아직 수집하지 않았거나, 개체가 현재 위치에 유지되도록 하려는 임시 경우에 유용합니다.
매개 변수
신호 DragContinue를 모니터링하는 함수.이 함수는 신호의 화면 공간 입력 위치를 받고 원하는 공간과 상대성에서 드래그의 원하는 움직임을 포함하는 UDim2 및 부동 소수점을 반환합니다.이 함수가 nil를 반환하면 개체가 이동되지 않습니다.