wiki.sine.space | sinespace

Scripting/SJointSpring

From wiki.sine.space
Revision as of 14:44, 15 January 2022 by Voidtech (Talk | contribs)

Jump to: navigation, search

Static Public Member Functions

New

SJointSpring New (float spring, float damper, float targetPosition);

Creates a new SJointSpring with the given spring, damper, targetPosition.

Motor= Space.Host.ExecutingObject.HingeJoint.Spring.New(1,2,3)


--the below script will change all Hinge Joint Spring 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() 
spring = hingejoint.Spring
hingejoint.Spring = spring .New(0,0,0)
end

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


Public Member Functions

ToString

string ToString ();

Returns this SJointSpring's properties as a string

SpringString = Space.Host.ExecutingObject.HingeJoint.Spring.ToString()


--the below script will make a UI Text element display this GameObjects Hinge Joint Spring 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()
spring = hingejoint.Spring
text.Text = spring.ToString()
end


thisObject.OnUpdate(OnUpdateFunction)


Properties

Spring

float Spring { get;set; }

The spring forces used to reach the target position.

SpringSpring= Space.Host.ExecutingObject.HingeJoint.Spring.Spring


--the below script will make a slider change a Hinge Joint Spring Spring 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()
spring = hingejoint.Spring
spring.Spring = (slider.Value * 10.0) -- from 0.0 to 10.0
hingejoint.Spring= spring
end

slider.OnValueChanged(OVC)

Damper

float Damper { get;set; }

The damper force uses to dampen the spring.

SpringDamper= Space.Host.ExecutingObject.HingeJoint.Spring.Damper


--the below script will make a slider change a Hinge Joint Spring Damper 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()
spring = hingejoint.Spring
spring.Damper = (slider.Value * 10.0) -- from 0.0 to 10.0
hingejoint.Spring = spring
end

slider.OnValueChanged(OVC)

TargetPosition

float TargetPosition { get;set; }

The target position the joint attempts to reach.

SpringTargetPosition = Space.Host.ExecutingObject.HingeJoint.Spring.TargetPosition


--the below script will make a slider change a Hinge Joint Spring TargetPosition 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()
spring = hingejoint.Spring
spring.TargetPosition = (slider.Value * 10.0) -- from 0.0 to 10.0
hingejoint.Spring = spring
end

slider.OnValueChanged(OVC)