This is something I have knocked up. Not sure how good the advanced animation commands are as I have never used them. This method works pretty well, and is just to point you in the right direction using standard commands. I'm happy to try to answer any questions you may have. It runs at pretty much 60fps here but my machine is not too bad.
Rem Project: Animatedsprite
Rem Created: Thursday, August 19, 2010
Rem ***** Main Source File *****
set bitmap format 21
set display mode 800,600,32,1
dim anim(100)
dim animate(100)
dim frame(100)
dim enemyx(100)
dim enemyy(100)
x=screen width()/2
y=screen height()/2
sync on
SPRITESETUP:
cls 0
for n=1 to 100
frame(n)=rnd(97)+1
enemyx(n)=rnd(850)-100
enemyy(n)=rnd(700)-100
next n
for n=1 to 50
colour=rgb(rnd(255),rnd(255),rnd(255))
ink colour,0
circle 100,100,n
get image n,0,0,150,150,1
anim(n)=n
NEXT n
for n=51 to 98
inc count,2
anim(n)=n-count
NEXT n
cls 0
sync on
ink rgb(255,255,255),0
MAIN:
do
gosub control
gosub animate
gosub info
sync
LOOP
INFO:
text 0,0,str$(screen fps())
return
CONTROL:
x=x-leftkey()+rightkey()
y=y-upkey()+downkey()
return
ANIMATE:
for n=2 to 100
if animate(object)=0
animate(object)=1
ENDIF
if animate(object)=1
animate(object)=2
endif
if animate(object)=2
if frame(n)<=98
inc frame(n)
endif
ENDIF
if frame(n)>98
frame(n)=1
animate(object)=0
endif
sprite 1,x,y,anim(frame(n))
sprite n,enemyx(n),enemyy(n),anim(frame(n))
next n
return
Disabling Vsync by changing set display mode x,y,32,1 to ,0, sends it crazy fast into 1200+
http://s6.bitefight.org/c.php?uid=103081