runscript node

Summary

The runscript node runs a small segment of script.

For more information see the XML reference entry for runscript.

Constructor

runscript.new( type , [id] )

The type parameter specifies the type of script that the node will execute. For Lua use text/x-lua.

The parameter id is optional. If specified the node will be given this id.

Example C.54. Use of runscript constructor

<scene>
	<script type="text/x-lua">

		-- create a new runscript node
		myrunscript = runscript("text/x-lua")
		
		myrunscript:setCode("myFunction()")
		
		scene:appendNode(myrunscript)
		
		function myFunction()
			-- this code will be executed by the runscript action
		end
		
	</script>
	
</scene>

Functions

node:setCode( code )

Sets the script to be executed when the node is actioned.

Example C.55. Use of setCode

<scene>
	<script type="text/x-lua">

		-- create a new runscript node
		myrunscript = runscript.new("text/x-lua")
		
		myrunscript:setCode("myFunction()")
		
		scene:appendNode(myrunscript)
		
		function myFunction()
			-- this code will be executed by the runscript action
		end
		
	</script>
		
</scene>


Functions common to action nodes

node:reset()

Resets this action such that it will occur again (from the beginning).

node:setNoTimes( val )

Sets the number of times this action should occur. Pass the value -1 to repeat indefinitely.

Example C.56. Use of setNoTimes

<scene>
	<script type="text/x-lua">
		
		mytransition = scene:getById("mytransition")
		
		mytransition:setNoTimes(10)
		
	</script>
	
	<transition id="mytransition"
				object="myplane" 
				what="position" 
				start="0 0 0" end="1 1 1" 
				length="1000 />

	<object id="myplane" type="primitives://plane.aro"/>
	
</scene>


Functions common to nodes

col graphnode:getColor()

Returns a table of 4 values - red, green, blue and alpha (transparency) between 0.0 and 1.0.

Example C.57. Use of getColor

<scene>
	<script type="text/x-lua">
		
		myplane = scene:getById("myplane")
		cols = myplace:getColor()
		red = cols[1]
		green = cols[2]
		blue = cols[3]
		alpha = cols[4]
		
	</script>
	<object id="myplane" type="primitives://plane.aro" color="0.5 1 1 0.75"/>
</scene>


boolean graphnode:isVisible()

Returns true if the node is set to visible, or false otherwise.

graphnode:setColor( col )

Sets the color of the node. Pass a 4-element table with entries { red, green, blue, alpha }. Values are expressed between 0.0 and 1.0.

Example C.58. Use of setColor

<scene>
	<script type="text/x-lua">
		
		myplane = scene:getById("myplane")
		
		--         r    g   b    a
		newcol = { 0.1, 1, 0.5, 0.25 } 
		myplane:setColor(newcol)
		
	</script>
	<object id="myplane" type="primitives://plane.aro"/>
</scene>


graphnode:setVisible( true or false )

Sets the visibility of the node. Invisible nodes are not displayed and do not respond to events e.g. onhover, onclickdown etc.