Lua object programming example
(Difference between revisions)
| Line 1: | Line 1: | ||
| − | This example shows how to create a basic object using lua metatables :<br> | + | This example shows how to create a basic object using lua metatables :<br><br> |
<nowiki>MyObject = {} | <nowiki>MyObject = {} | ||
Revision as of 19:28, 6 January 2013
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