SJointMotor

Index

Functions Index

Function Name

override string ToString ()

static SJointMotor New (float targetVelocity, float force, bool freeSpin)

Properties Index

Property Name

float Force get

bool FreeSpin get

Functions

ToString

override string ToString ()

Returns this SJointMotor's properties as a string

ParameterTypeDescription

MotorString = Space.Host.ExecutingObject.HingeJoint.Motor.ToString()
--the below script will make a UI Text element display this GameObjects Hinge Joint Motor properties
--[Add "thetext" and "thehingejoint" reference to the Scripting Runtime component]
thisObject = Space.Host.ExecutingObject
text = Space.Host.GetReference("thetext").UIText
hingejoint = Space.Host.GetReference("thehingejoint").HingeJoint


function OnUpdateFunction()
motor = hingejoint.Motor
text.Text = motor.ToString()
end


thisObject.OnUpdate(OnUpdateFunction)

New

static SJointMotor New (float targetVelocity, float force, bool freeSpin)

Creates a new SJointMotor with the given targetVelocity, force, freeSpin.

ParameterTypeDescription

Motor= Space.Host.ExecutingObject.HingeJoint.Motor.New(1,2,true)
--the below script will change all Hinge Joint Motor properties to 0 when clicked
--[Add "thehingejoint" reference to the Scripting Runtime component]
thisObject = Space.Host.ExecutingObject
hingejoint = Space.Host.GetReference("thehingejoint").HingeJoint


function OnClickFunction() 
motor = hingejoint.Motor
hingejoint.Motor = motor.New(0,0,false)
end

thisObject.AddClickable()
thisObject.Clickable.OnClick(OnClickFunction)

Properties

TargetVelocity

float TargetVelocityget

The motor will apply a force up to force to achieve targetVelocity.

MotorTargetVelocity = Space.Host.ExecutingObject.HingeJoint.Motor.TargetVelocity
--the below script will make a slider change a Hinge Joint Motor TargetVelocity property
--[Add "theslider" and "thehingejoint" reference to the Scripting Runtime component]

slider = Space.Host.GetReference("theslider").UISlider
hingejoint = Space.Host.GetReference("thehingejoint").HingeJoint


OVC = function()
motor = hingejoint.Motor
motor.TargetVelocity = (slider.Value * 10.0) -- from 0.0 to 10.0
hingejoint.Motor = motor
end

slider.OnValueChanged(OVC)

Force

float Forceget

The motor will apply a force.

MotorForce= Space.Host.ExecutingObject.HingeJoint.Motor.Force 
--the below script will make a slider change a Hinge Joint Motor Force property
--[Add "theslider" and "thehingejoint" reference to the Scripting Runtime component]

slider = Space.Host.GetReference("theslider").UISlider
hingejoint = Space.Host.GetReference("thehingejoint").HingeJoint


OVC = function()
motor = hingejoint.Motor
motor.Force = (slider.Value * 10.0) -- from 0.0 to 10.0
hingejoint.Motor = motor
end

slider.OnValueChanged(OVC)

FreeSpin

bool FreeSpinget

If freeSpin is enabled the motor will only accelerate but never slow down.

MotorFreeSpin = Space.Host.ExecutingObject.HingeJoint.Motor.FreeSpin
--the below script will toggle Hinge Joint Motor FreeSpin property 
--[Add "thehingejoint" reference to the Scripting Runtime component]

thisGameObject = Space.Host.ExecutingObject
hingejoint = Space.Host.GetReference("thehingejoint").HingeJoint


function OnClickFunction()
motor = hingejoint.Motor
motor.FreeSpin = not motor.FreeSpin
hingejoint.Motor = motor
end

thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClickFunction)

Last updated

Sinespace® is a registered trademark of Sine Wave Entertainment Ltd, All Rights Reserved.