im really newbie but maybe its usefull for somebody ...
Quote
TYPE TAnimation
firstFrame%
lastFrame%
currentFrame%
delay%
tick%
FUNCTION SetLoop: first%, last%
self.firstFrame = first
self.lastFrame = last
ENDFUNCTION
FUNCTION SetDelay: delay%
self.delay = delay
ENDFUNCTION
FUNCTION Reset:
self.currentFrame = self.firstFrame
ENDFUNCTION
FUNCTION Update:
IF self.tick > self.delay
self.tick = 0
INC self.currentFrame
ENDIF
IF self.currentFrame > self.lastFrame THEN self.currentFrame = self.firstFrame
IF self.currentFrame < self.firstFrame THEN self.currentFrame = self.firstFrame
INC self.tick
ENDFUNCTION
FUNCTION Finished:
IF self.currentFrame = self.lastFrame
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDFUNCTION
FUNCTION Start:
IF self.currentFrame = self.firstFrame
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDFUNCTION
ENDTYPE
example usagesomewhere in "update":
Quote
self.animation.Update()
IF self.isFiring
self.animation.SetLoop(8, 15)
self.animation.SetDelay(10)
IF self.animation.Finished() THEN Something()
ENDIF
somewhere in draw:
QuoteDRAWANIM sprHelloKitty, self.animation.currentFrame, self.position.x, self.position.y