Lua object programming example

This example shows how to create a basic object using lua metatables :

MyObject = {} MyObject.__index = MyObject

function MyObject.create(ref, pos, speed) -- object creation

local newObj = {} -- our new object setmetatable(newObj, MyObject) -- set metatable newObj.object = getClone(ref) -- get a clone from the ref Maratis object newObj.speed = speed -- a local value setPosition(newObj.object, pos)

return newObj end

function MyObject:update -- update function

rotate(self.object, {0, 0, 1}, self.speed) -- rotate the object around the Z axis using the speed value

end

It can then be used like this :

Ref = getObject("Ref") -- object to clone

MyObj = MyObject.create(Ref, {0, 0, 0}, 1)

-- scene update function onSceneUpdate

MyObj:update

end