[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

• Subject: Lunar.h: Replacing 'getters' and 'setters'
• From: Luiz Ribeiro <luizribeiro@...>
• Date: Thu, 11 Aug 2005 16:06:10 -0300

```Hello...
I'm working in a Particle System with lunar.h (from the lua-users
wiki) and using Get and Set methods to work with the stuff, but using
these methods slows my application a lot. For now, I'm working with
something like:
function Update(p, t)
local energy = p:Energy()

-- update the particle's speed
local s = p:Speed()
p:Speed(s:GetX(), s:GetY()-10*t, 0.0)

-- setup the particle's color
local r = energy/max_energy
local g = (5*energy - max_energy) / (4*max_energy)
local b = r/3
p:Color(r, g, b, 1.0)

-- update the particle's energy
p:Energy(energy-75*t)
end

Where the function Update receives the particle (p) and the delta T
value (t, variation of time, from physics). But since using methods
like p:Speed(x, y, z) or p:Speed():GetX() is slow, I wanted to "bind
variables" from C++, how can I do that from lunar.h?

I want to make it work something like this:
function Update(p, t)
local energy = p.energy

-- update the particle's speed
local s = p.speed
s.y = s.y - 10*t
s.z = 0
p.speed = s

-- setup the particle's color
local r = energy/max_energy
local g = (5*energy - max_energy) / (4*max_energy)
local b = r/3
p.color = Color(r, g, b, 1.0)

-- update the particle's energy
p.energy = energy-75*t
end

Something like that, I think it would speed up the runtime significantly...

How can I do this using lunar.h?

Thanks...
Luiz Ribeiro

```