wiki.sine.space | sinespace

Difference between revisions of "Scripting/SCameraManager"

From wiki.sine.space
Jump to: navigation, search
(Added examples to: IsLocked, ReleaseCamera, LockCamera, SetCameraPositionOrientation)
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/client-scripting/scene/scameramanager")
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The SCameraManager class allows you to take and manipulate the users camera. Combine with [[Scripting/SCamera]] to create 2D side-scrolling regions!
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/scene/scameramanager
 
+
==Members==
+
{{ScriptFunction|bool|IsLocked|{ get; }|Returns true if the Camera is locked and can be manipulated by this script.|5=
+
obj = Space.Host.ExecutingObject;<br><br>
+
Space.Camera.LockCamera (obj); <br>
+
Space.Log(Space.Camera.IsLocked); <br>
+
''--prints "True" to the console''}}
+
 
+
{{ScriptFunction|void|ReleaseCamera|();|Relinquishes control of the Camera back to Space| 5=
+
obj = Space.Host.ExecutingObject;<br><br>
+
 
+
''-- Let's lock the camera for a moment''<br>
+
Space.Camera.LockCamera (obj);<br>
+
''-- Now we can release it''<br>
+
if Space.Camera.IsLocked then<br>
+
:Space.Camera.ReleaseCamera ();<br>
+
:Space.Log("Camera released");<br>
+
end}}
+
 
+
{{ScriptFunction|void|LockCamera|(SGameObject owner);|Takes control of the Camera as long as 'owner' exists in the scene, or until ReleaseCamera() has been called. Using the Host runtime as the owner is often a good practice.|5=
+
obj = Space.Host.ExecutingObject;<br><br>
+
Space.Camera.LockCamera (obj);<br>
+
''-- If no camera position/orientation is set upon locking, the camera will lock on the avatar.''}}
+
 
+
{{ScriptFunction|void|SetCameraPositionOrientation|(SVector position, SQuaternion orientation);|Forces the camera to be at position facing orientation for the frame. Needs to be called every frame.|5=
+
obj = Space.Host.ExecutingObject;<br>
+
local VectorPos = Vector.New(0,0,0);<br>
+
local VectorRot = Quaternion.Euler(-60,0,0);<br><br>
+
Space.Camera.LockCamera (obj);<br>
+
Space.Camera.SetCameraPositionOrientation (VectorPos,VectorRot);
+
''-- Now the camera is positioned at the global origin and is facing the sky at 60 degrees.''<br>
+
}}
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 07:22, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/client-scripting/scene/scameramanager