DragDetector

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

Class.DragDetector 인스턴스는 3D 개체와 상호 작용을 용이하게 하고 장려하며, 문을 열고 서랍을 슬라이딩하고 등과 같은 경험에서 3D 개체를 사용하는 것과 같은 것을 도와줍니다. 주요 기능은 다음과 같습니다.

  • 모든 입력(마우스, 터치, 게임 패드 및 VR)에 드래그할 수 있도록 DragDetector 를 배치하십시오. 이 경우 단일 줄의 코드가 없습니다.

  • 여러 가지 DragStyle 옵션 중에서 선택하고, 개체가 이동 모션에 대해 ResponseStyle 를 통해 응답하는 방법을 정의하고, 옵션적으로 축 또는 이동 제한을 적용합니다.

  • 스크립트는 끊김 눈금에 대응하여 룸 내에서 라이트 수준을 조정하거나 논리적 결정을 내리는 등의 작업을 수행할 수 있습니다.

  • 플레이어는 고정된 부품이나 모델을 조작할 수 있으며, 해제 시 정확히 배치한 위치에 있습니다.

  • DragDetectors 작업은 Studio에서 드래그 탐지기를 사용하는 한 작동합니다. 선택하기 , 이동하기 , 0> 크기 조정하기0>, 또는 편집 중에 드래그 개체를 쉽게 테스트하고 조정할 수 있도록 로테이

세부 정보 및 사용 예시는 D 끌기 감지기 가이드를 참조하십시오.

요약

속성

속성ClickDetector에서 상속되었습니다

메서드

이벤트

  • DragContinue(playerWhoDragged : Player,cursorRay : Ray,viewFrame : CFrame,vrInputFrame : OptionalCoordinateFrame,isModeSwitchKeyDown : bool):RBXScriptSignal

    Class.DragDetector.DragStart|DragStart 가 시작된 후 사용자가 개체를 계속 드래그하면 화재가 발생합니다.

  • DragEnd(playerWhoDragged : Player):RBXScriptSignal

    사용자가 개체를 드래그하지 않을 때 화재됩니다.

  • DragStart(playerWhoDragged : Player,cursorRay : Ray,viewFrame : CFrame,hitFrame : CFrame,clickedPart : BasePart,vrInputFrame : OptionalCoordinateFrame,isModeSwitchKeyDown : bool):RBXScriptSignal

    사용자가 개체를 드래그하기 시작하면 화재됩니다.

이벤트ClickDetector에서 상속되었습니다

속성

ActivatedCursorIcon

ContentId
병렬 읽기

DragDetector 의 부모에 마우스가 활성화되면 커서 아이콘을 표시하도록 설정합니다. 이 속성을 비워두면 감지기가 기본 아이콘을 사용합니다.

활성화된 커서 아이콘을 변경하려면 이 속성을 사용하려는 이미지의 자산 ID로 설정합니다.

ApplyAtCenterOfMass

병렬 읽기

사용자가 클릭한 위치에 제한 힘이 적용되지 않으면 제한 힘이 개체의 중심 마스에 적용됩니다. 사용자가 클릭한 위치에 제한 힘이 적용되면 제한 힘이 개체의 중심 마스에 적용됩니다. 부모 개체가 앵커되지 않은 경우에만 해당됩니다.

복제되지 않음
병렬 읽기

이 그림에서 참조 프레임을 기준으로 움직임의 주축, 즉 DragStyle 의 방향을 나타냅니다.

DragFrame

병렬 읽기

Class.DragDetector.ReferenceInstance|ReferenceInstance 가 설정되면 참조 프레임에 대한 피벗 대역의 CFrame 이 됩니다; 그렇지 않으면 피벗 대역의 CFrame 이 드래그의 시작 부분에 대한 드래그의 프레임입니다.

병렬 읽기

제안된 이동을 생성하기 위해 커서 광선 스트림을 지정한 경우 참조하십시오. Enum.DragDetectorDragStyle 옵션에 대해서는.

Enabled

병렬 읽기

Class.DragDetector 는 사용자 입력에 반응합니다. Class.DragDetector 는 반응하지 않습니다.

GamepadModeSwitchKeyCode

병렬 읽기

게임 패드 입력 중에 Enum.KeyCode 을 이중 모드 전환하는 데 사용합니다. 단지 드래그 감지기의 DragStyle 가 주 및 보조 모드 모두를 가지고 있는 경우에만 적용됩니다.

KeyboardModeSwitchKeyCode

병렬 읽기

키보드 입력 중에 Enum.KeyCode 이동 모드의 이중 모드를 전환하는 데 사용됩니다. 드래그 감지기의 주 및 보조 모드가 모두 있는 경우에만 적용됩니다.

MaxDragAngle

병렬 읽기

이 크기가 MinDragAngle 보다 크면 번역이 해당 범위 내에 잘리게 됩니다.

이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.

Class.DragDetector.DragStyle|DragStyle 이 Enum.DragDetectorDragStyle.RotateAxis 이면에 대해서만 유용합니다.

MaxDragTranslation

병렬 읽기

모든 차원에서, 이 크기가 MinDragTranslation 보다 크면 번역이 범위 내에 잘리게 됩니다.

이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.

MaxForce

병렬 읽기

목표에 도달하기 위해 적용된 최대 힘. 해당 목표에 대해서만 유효합니다. 부모 개체가 앵커되지 않은 경우에만 해당됩니다.

MaxTorque

병렬 읽기

목표에 도달하기 위해 적용된 최대 회전력. 해당 목표에 대해 ResponseStyle 이 있으면만 유효합니다. 부모 개체가 앵커되지 않은 경우에만 해당됩니다.

MinDragAngle

병렬 읽기

이 값이 MaxDragAngle 보다 작다면 번역이 해당 범위 내에 잘리게 됩니다.

이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.

Class.DragDetector.DragStyle|DragStyle 이 Enum.DragDetectorDragStyle.RotateAxis 이면에 대해서만 유용합니다.

MinDragTranslation

병렬 읽기

모든 차원에서, 이 경우 MaxDragTranslation 보다 작다면, 번역은 해당 범위 내에 잘리게 됩니다.

이 제약 사항은 없습니다; 단순히 이동 생성기를 제한하기 위해 드래그 탐지기의 시도를 방지합니다. 자세한 내용은 AddConstraintFunction() 를 참조하십시오. 드래그에 사용자 제약 사항을 추가하려면.

Orientation

병렬 읽기

참조 프레임( Y 포함)에 대한 축의 회전을 지정합니다( Y 축의 경우 참조 프레임 자체의 방향을 변경하지 않음). 직선 번역 및 축 회전은 이 재정렬 Y 축에 있으며, 평면

병렬 읽기

플레이어가 DragDetector 와 상호 작용할 수 있는 권한 수준을 제어합니다. 기본은 Enum.DragDetectorPermissionPolicy.Everybody입니다.

ReferenceInstance

병렬 읽기

드래그 감지기에 대한 참조 프레임이 있는 인스턴스의 CFrame 이 참조 프레임입니다. DragFrame 는 이 CFrame 에 대해 익스프레스 됩니다 2>Class.DragDetector:GetReferenceFrame()|Get Reference Frame2> 메서드를

이 인스턴스가 PVInstance인 경우 참조 프레임은 그의 피벗이 됩니다; Attachment 이면 세계 CFrame 기반이 됩니다. 이 경우 2> nil</

병렬 읽기

제안된 이동이 계산되고 잠재적으로 제한된 후, 이것은 개체에 영향을 미치는 DragDetector 개체를 이동하거나 이동하지 않는 데 사용되는 패러다임입니다. 옵션은 Enum.DragDetectorResponseStyle 참조.

Responsiveness

병렬 읽기

값이 더 높을수록 개체가 목표에 더 빨리 도달합니다. 해당 목표가 ResponseStyle 이고 부모 개체가 앵커가 아닐 경우에만 유효합니다.

RunLocally

병렬 읽기

클라이언트가 거짓(기본)인 경우, 클라이언트는 복제된 신호(DragStart, DragContinue, DragEnd를 서버에 보내고 커서 광선을 처리하고, 데이터 모델을 변경

만약 그렇다면, 클라이언트는 이 신호를 처리하고 서버에 다시 복제하지 않습니다. 클라이언트 LocalScripts 는 이러한 이벤트에 응답하고 서버에 다시 복제해야 하는 변경 사항을 보낼 수 있습니다.

SecondaryAxis

복제되지 않음
병렬 읽기

이동의 보조 축. Attachments 와 같은 패러다임을 사용하여 방향을 지정합니다.

TrackballRadialPullFactor

병렬 읽기

커서가 트랙볼 밖에 있으면 DragDetector 는 공을 커서 방향으로 밀어 넣으려는 것처럼 회전하는 직선 끌기 회전을 적용할 수 있습니다. 이 속성은 총을 기여하는 0에서 1 배수를 추

TrackballRollFactor

병렬 읽기

커서가 트랙볼 밖에 있으면 DragDetector 는 볼을 듣기 앞에 있는 빈 레코드에 마운트된 것처럼 롤 회전을 적용할 수 있습니다. 이 속성은 총에 적용하는 0~1 배수입니다

VRSwitchKeyCode

병렬 읽기

VR 입력 중에 Enum.KeyCode 이 세컨더리 모션 모드를 전환하는 데 사용되는 DragStyle 입니다. 이 드래그 감지기의 주 모드와 보조 모드가 모두 있는 경우에만 적용됩니다.

WorldAxis

복제되지 않음
병렬 읽기

세계 공간에 표현된 AxisAttachments 와 같은 패러다임을 사용하여 방향을 나타냅니다.

WorldSecondaryAxis

복제되지 않음
병렬 읽기

세계 공간에 표현된 SecondaryAxis 은 같은 패러다임을 사용하여 방향을 나타냅니다. Attachments 와 같은.

메서드

AddConstraintFunction

제안된 이동 수정하거나 제한하기 위한 함수를 추가합니다. 이 함수는 CFrame 의 제안된 이동 및 Datatype.CFrame 의 수정된 이동을 입력하고 출력하며, 모든 입력과 출력은 참

추가 제약 함수를 제거하려면 Disconnect() 연결 개체에서 Disconnect()|Disconnect()를 호출하십시오.

매개 변수

priority: number

이 메서드를 사용하여 추가된 함수의 우선 순위 주문. 더 높은 값은 하위 값보다 우선 순위가 높습니다.

function: function

제안된 이동 수정 또는 제한 기능을 수행하는 함수입니다. 이 함수는 제안된 이동 수정 및 제한 기능의 입력 CFrame 를 사용하고 참조 프레임과 관련된 수정 또는 수정되지 않은 이동을 모두 반환합니다. 수정 또는 수정되지 않은 이동에 대해 1> Datatype.


반환

이 연결 개체를 사용하여 제약 함수를 제거합니다.

GetReferenceFrame

이동 경로에 대해 CFrame 참조를 반환합니다; 자세한 내용은 ReferenceInstance 속성을 참조하십시오.


반환

이동 경로에 대한 참조 CFrame 에 표시됩니다.

RestartDrag

void

새 매개 변수를 사용하여 드래그를 다시 시작하려면 스크립트에서 호출할 수 있습니다, if DragStyle , Axis 또는 SecondaryAxis 변경.


반환

void

SetDragStyleFunction

void

패스 하나를 사용 하려면, 만약 DragStyleEnum.DragDetectorDragStyle.Scriptable 로 설정 되어 있다면, 지정된 함수는

함수가 반환하는 경우 nil, 개체는 이동되지 않습니다. 이 기능은 스크립트가 올바른 답을 제공할 필요가 없거나 임시 상태에서 개체를 유지하려는 경우에 유용합니다.

매개 변수

function: function

함수를 모니터링하기 위해 DragContinue 신호의 월드 스페이스 커서 레이를 받습니다. 이 함수는 신호의 월드 스페이스 커서 레이를 받고 원하는 위치와 방향의 피벗을 포함하는 CFrame를 반환합니다. 이 함수가


반환

void

SetPermissionPolicyFunction

void

local dragDetector = script.Parent.DragDetector
dragDetector.PermissionPolicy = Enum.DragDetectorPermissionPolicy.Scriptable
dragDetector:SetPermissionPolicyFunction(function(player, part)
if player and player:GetAttribute("IsInTurn") then
return true
elseif part and not part:GetAttribute("IsDraggable") then
return false
else
return true
end
end)

매개 변수

function: function

함수를 사용하여 감지기의 상호 작용성을 설정합니다. 이 함수는 특정 플레이어에 대해


반환

void

이벤트

DragContinue

Class.DragDetector.DragStart|DragStart 가 시작된 후 사용자가 개체를 계속 드래그하면 화재가 발생합니다.

매개 변수

playerWhoDragged: Player

이제 드래그를 계속하는 PlayerDragStart 를 통해 드래그를 시작했으며 이제 드래그를 계속합니다.

cursorRay: Ray

Ray 커서에서 방출되는 조명, 시네마에 조준됩니다.

viewFrame: CFrame

CFrame 의 사용자의 Camera .

vrInputFrame: OptionalCoordinateFrame

VR 입력 기기사용하는 경우, 커서/포인터/컨트롤러를 들고 있는 손의 CFrame입니다.

isModeSwitchKeyDown: bool

드래그 감지기의 DragStyle 가 주 및 보조 이동 모드를 모두 가지고 있으면 이 매개 변수는 사용자가 KeyboardModeSwitchKeyCode 를 통해 정


DragEnd

사용자가 개체를 드래그하지 않을 때 화재됩니다.

매개 변수

playerWhoDragged: Player

이제 드래그를 종료하고 Player에 발행된 드래그를 종료하는 드래그 DragStart입니다.


DragStart

사용자가 개체를 드래그하기 시작하면 화재됩니다.

매개 변수

playerWhoDragged: Player

Player 누가 드래그를 시작했는지.

cursorRay: Ray

Ray 커서에서 방출되는 조명, 시네마에 조준됩니다.

viewFrame: CFrame

CFrame 의 사용자의 Camera .

hitFrame: CFrame

커서 레이캐스트를 시작한 히트 프레임.

clickedPart: BasePart

부품이 커서 레이캐스트에 맞아 드래그를 시작한 부분.

vrInputFrame: OptionalCoordinateFrame

VR 입력 기기사용하는 경우, 커서/포인터/컨트롤러를 들고 있는 손의 CFrame입니다.

isModeSwitchKeyDown: bool

드래그 감지기의 DragStyle 가 주 및 보조 이동 모드를 모두 가지고 있으면 이 매개 변수는 사용자가 KeyboardModeSwitchKeyCode 를 통해 정