PrismaticJointComponent

PrismaticJoint를 생성, 삭제할 수 있습니다. 연결된 강체가 특정 축 방향으로만 상대적 이동하도록 제한할 수 있습니다.

# Properties

[{"index":"SyncList Joints (Sync) (ReadOnly)","0":"Joint의 정보를 설정합니다."}]

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"컴포넌트 활성화 여부를 확인합니다."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다."}]

[{"index":"Entity Entity (ReadOnly)","0":"이 컴포넌트를 소유한 엔티티입니다."}]

# Methods

[{"index":"int32 AddJoint(Entity targetEntity, Vector2 localAnchorA, Vector2 localAnchorB, Vector2 localAxis)","0":"Joint를 추가합니다. 성공 시 index, 실패 시 -1을 반환합니다"}]

[{"index":"void DestroyJoint(int32 index)","0":"순번이 index에 해당하는 Joint를 제거합니다."}]

[{"index":"int32 GetJointsCount()","0":"joint 수를 반환합니다."}]

[{"index":"void SetCollideConnected(int32 index, boolean collideConnected)","0":"순번이 index에 해당하는 Joint의 CollideConnected 값을 설정합니다."}]

[{"index":"void SetLocalAnchorA(int32 index, Vector2 localAnchorA)","0":"순번이 index에 해당하는 Joint의 LocalAnchorA 값을 설정합니다."}]

[{"index":"void SetLocalAnchorB(int32 index, Vector2 localAnchorB)","0":"순번이 index에 해당하는 Joint의 LocalAnchorB 값을 설정합니다."}]

[{"index":"void SetLocalAxis(int32 index, Vector2 localAxis)","0":"순번이 index에 해당하는 Joint의 LocalAxis 값을 설정합니다."}]

[{"index":"void SetLowerTranslation(int32 index, float lowerTranslation)","0":"순번이 index에 해당하는 Joint의 LowerTranslation 값을 설정합니다."}]

[{"index":"void SetMaxMotorForce(int32 index, float maxMotorForce)","0":"순번이 index에 해당하는 Joint의 MaxMotorForce 값을 설정합니다."}]

[{"index":"void SetMotorEnable(int32 index, boolean enable)","0":"순번이 index에 해당하는 Joint의 MotorEnable 값을 설정합니다."}]

[{"index":"void SetMotorSpeed(int32 index, float speed)","0":"순번이 index에 해당하는 Joint의 MotorSpeed 값을 설정합니다."}]

[{"index":"void SetUpperTranslation(int32 index, float upperTranslation)","0":"순번이 index에 해당하는 Joint의 UpperTranslation 값을 설정합니다."}]

[{"index":"void SetUseLimits(int32 index, boolean useLimits)","0":"순번이 index에 해당하는 Joint의 UseLimits 값을 설정합니다."}]

##### inherited from Component:

[{"index":"boolean IsClient()","0":"현재 실행 환경이 클라이언트인지 아닌지의 여부를 반환합니다."}]

[{"index":"boolean IsServer()","0":"현재 실행 환경이 서버인지 아닌지의 여부를 반환합니다."}]

# Examples

W, S를 누르면 SetMotorSpeed 값을 변경합니다. `PrismaticJointComponent`의 `UpperTranslation`, `LowerTranslation`의 값만큼만 TargetEntityRef로 설정한 Entity가 올라가고 내려갑니다.

#### SetMotorSpeed
    
    
    @Component
    script KeyedVerticalMover extends Component
        @ExecSpace("ServerOnly")
        method void GoUp()
        self.Entity.PrismaticJointComponent:SetMotorSpeed(1, 3)
        end
    
        @ExecSpace("ServerOnly")
        method void GoDown()
        self.Entity.PrismaticJointComponent:SetMotorSpeed(1, -3)
        end
    
        @EventSender("Service", "InputService")
        handler HandleKeyDownEvent(KeyDownEvent event)
        --------------- Native Event Sender Info ----------------
        -- Sender: InputService
        -- Space: Client
        ---------------------------------------------------------
    
        -- Parameters
        local key = event.key
        ---------------------------------------------------------
        if key == KeyboardKey.W then
        	self:GoUp()
        elseif key == KeyboardKey.S then
        	self:GoDown()
        end
        end
    end
    

# SeeAlso

  * KeyboardKey
  * KeyDownEvent
  * InputService
  * [다양한 물리 joint 활용하기](/docs?postId=760)
  * [물리 사용하기](/docs?postId=757)
  * [엔티티에 물리 적용하기 ](/docs?postId=761)