Hi Rascal
Sorry if i am missing the point here, but wouldn't we rather have animated PNG's using the APNG format rather than gif? I mean, why restrict ourselves to a 256 colour palette when we can go with better quality. I still thing the APNG will take off in future. I think it had less support due to newer technologies.... This here image is an animated PNG btw

Look at that reflection! Would be hard to do with a gif!

I understand what you are driving for however. I took me quite a while to learn how to do this, thanx to the help of JP. If you try my HM table, you will see a script called Chattering Skull, which uses two images going on and off. I also used it in a new beating heart animation as per below:
'***** Beating Heart *****
'add 2 variables: beatingPos, beatingCount, and initialize them to 0
Dim beatingPos, beatingCount
beatingPos = 0
beatingCount = 0
' Initialize both ramps used in the example
BH10.WidthBottom = 0: BH10.WidthTop = 0
BH1.WidthBottom = 0: BH1.WidthTop = 0
' and refresh under the ramps
' the alpha ramps need to be refreshed
' if not they do not change
' to refresh we use a black light (remember black = invisible in
VP)
' to refresh the lights we change the state
Light3.State = ABS(Light3.state -1)
' those are 2 refresh and big lights takes a lot of cpu power, so one refresh is enough
Sub TriggerX_Hit()
'TriggerX.TimerInterval=1000
'TriggerX.TimerEnabled = True
beatingCount = 8
'Playsound "kicker_enter"
'AddScore = 1000
beatingTimer.Enabled = 1 'start the sub that makes the heart beat.
PlaySound "heartbeat"
End Sub
Sub TriggerX_UnHit()
'TriggerX.Timerenabled = False
'TriggerX.Kick 0,20
'PlaySound "kicker"
End Sub
' this is the sub to make the heart beat and unbeat
' it runs until the beatingCount is 0
Sub beatingTimer_Timer
Select Case beatingPos
Case 0: '... beat the heart
BH10.WidthBottom = 150: BH10.WidthTop = 150
BH1.WidthBottom = 0: BH1.WidthTop = 0
Light3.State = ABS(Light3.state -1)
Case 1: '... unbeat the heart
BH10.WidthBottom = 0: BH10.WidthTop = 0
BH1.WidthBottom = 150: BH1.WidthTop = 150
Light3.State = ABS(Light3.state -1)
End Select
beatingPos=ABS(beatingPos -1) 'this simply inverts the value between 0 and 1
beatingCount = beatingCount - 1
If beatingCount = 0 Then
'... make both ramps invisible
BH10.WidthBottom = 0: BH10.WidthTop = 0
BH1.WidthBottom = 0: BH1.WidthTop = 0
Light3.State = ABS(Light3.state -1)
beatingTimer.enabled = 0 ' turn off the timer
End If
End Sub
Just recently i was speaking with JP on how to make this with more images, which i have the answer for still in my PM's as i haven't had a chance to try it. It is tedious i admit, but a workaround until we gets some
VP Dev support

Cheers,
Maceman
Edited by maceman, 29 October 2012 - 01:00 AM.