Program Class
Program class contains all the data of a nunuStudio program.
Is stores and manages all available resources used by the children objects.
Is responsible for handling runtime tasks, initialization, update, resizes etc.
Item Index
Methods
Methods
add
-
scene
Add new scene to this program.
On the program class only scenes can be added as children.
Parameters:
-
scene
Scene
clone
()
Program
Clone program, keeping uuids and every identification attribute.
Clone method uses the ObjectLoad to serialize and create a new program instance with the same data.
Returns:
Cloned program
dispose
()
Dispose program data to avoid memory leaks.
Called when exiting the program.
enterVR
()
Enter virtual reality mode.
exitVR
()
Exit virtual relity mode.
initialize
()
Select initial scene and initialize that scene.
Automatically called by the runtime.
receiveDataApp
-
data
Receive external data and pass it to all script instances.
Parameters:
-
data
Object
render
-
renderer
Render current scene to canvas.
When rendering in VR mode all effects and camera parameters are ignored.
Renderer should be initialized and passed as argument.
Parameters:
-
renderer
Renderer
resize
-
x
-
y
Resize the current scene elements.
Parameters:
-
x
NumberWidth.
-
y
NumberHeight.
sendDataApp
-
data
Send data to external app instance.
Parameters:
-
data
Object
setInitialScene
-
uuid
Set a scene as initial scene using its uuid.
This method is used by the editor.
Parameters:
-
uuid
StringScene uuid
setMouseKeyboard
-
mouse
-
keyboard
Set program mouse and keyboard.
Should be set before initialize() is called otherwise a keyboard and mouse are created by default.
setRenderer
-
renderer
-
configure
Set program renderer to be used by this program.
Gets the renderer canvas and uses the parent DOM element of the canvas for DOM division property.
Parameters:
-
renderer
WebGLRendererThree.js renderer to be used by this program
-
configure
BoolIf true also updates renderer configuration to match rendering quality specified in the program.
setScene
-
scene
Change scene during runtime, this method can receive booth a scene name or a scene object.
This method should be used inside of script objects during runtime.
Parameters:
-
scene
Scene | StringScene object or name of the scene to be used.
toJSON
-
meta
-
exportResources
Serialize the object to JSON format.
Parameters:
-
meta
ObjectMetadata object passed to the objects and resources toJSON method to store data.
-
exportResources
BooleanIf true all resouces in the program are exported, else only resources attached to objects are exported.
Returns:
json Serialized JSON data containing the program, all scenes and resources stored.
update
()
Update program state, this updated all current scene children elements.
updateRenderer
()
This method updated the webgl renderer configuration.
Should be called after changing any rendering related parameter.
vrAvailable
()
Check if virtual reality is available.
Properties
app
NunuApp
NunuRuntime instance used to communication between nunu app and the host webpage.
Inside the editor communication with the app is simulated on the debug console.
canvas
Element
Canvas being used to draw content by the renderer.
This canvas is where the WebGL rendering context was created.
clock
Clock
Clock object used to measure times between frames.
The time measured is passed down to the scene and its children elements.
defaultCamera
Camera
Default camera to be used by scenes where there is no camera.
On the editor this value is automatically set to the last editor camera point used
description
String
Program description, will be stamped when the app is exported.
division
Element
DOM Division element that can be used to add html content to the app.
All content added to this division should be manually removed before the app exits.
handlePixelRatio
Boolean
Flag to indicate if the runtime should handle device pixel ratio.
If set false the runtime will ignore the pixel ratio, and use in browser coordinates.
Default: false
lockPointer
Boolean
Flag to control pointer locking, when set true the cursor is locked into the application window.
Default: false
manager
EventManager
Event manager used to attach and manage program events.
Its created on initialization and destroys on disposal, scripts can attach events to the manager safely during runtime.
name
String
Program name.
renderer
WebGLRenderer
Renderer being used during runtime.
scene
Scene
Scene currently running in the program, runtime variable.
Should never be manually defined, change it using the setScene(scene) method.
version
String
Program version should adhere to semantic versioning, but it is not mandatory.
Default: "0.0.0"
vr
Boolean
Enable virtual reality flag, allows the application to run in VR mode.
VR mode can only be enabled if the system and browser have support for VR.
Default: false
vrRunning
Boolean
VR runtime control, true when the app is running in VR mode.
vrScale
Number
Virtual reality movement scale.
Indicates the relation between the real movement and virtual world movement.
Default: 1.0