Quick question. i don’t really need an update function except for one animation where a triangle changes height according to the x scale of another shape. Right now, i have an update function which has something like (pseudo code):
function update(self,dt)
local height = math.acos(self.x_scale)
gui.set_size(self.triangle, vmathvector(300, height, 1))
end
Could i eliminate this by having something like this?
local function triangleanim()
if triangleanimating = true then
local height = math.acos(self.x_scale)
gui.set_size(self.triangle, vmathvector(300, height, 1))
triangleanim()
end
end
Got it!!! Now it makes sense. I assumed the rest of the script (outside of that function) would continue to run but it never ever would. I need a while until thing, I think.
Can you put whatever code is meant to change the triangleanimating variable inside of this function? While we’re at it, you might want to use the repeat … until loop:
local function triangleanim()
repeat
local height = math.acos(self.x_scale)
gui.set_size(self.triangle, vmathvector(300, height, 1))
until height > 100 -- or whatever condition you want to cause the loop to end
end
Edit: It just dawned on me that this won’t really do much - you want this to animate the size of the gui, right? This code would just cycle until it reaches the final size to be animated, all in one frame, so you’d only see the gui jump to the final size.
That’s why you need the update() function - to change the size gradually. Look into what @Dragosha suggested.