Hi there, i wrote this real fast using your image. I'll explain at the bottom of this code.
Graphics 800, 600, 16
SetBuffer BackBuffer()
ship = LoadAnimImage ("shipro.png", 113,113,0,36)
startframe = 27
frame = 27
Repeat
If speed# < 0 Then speed# = speed + .01
If speed# > 0 Then speed# = speed - .01
If KeyDown(200) Then ;UP Arrow
speed# = speed + .05
If speed# > 2 Then Speed# = 2
End If
If KeyDown(208) Then ;Down Arrow
speed# = speed - .05
If speed# < -2 Then Speed# = -2
End If
If timer+50 < MilliSecs() Then
timer = MilliSecs()
If KeyDown(203) Then ;Left Arrow
frame = frame - 1
If frame < 0 Then frame = 35
End If
If KeyDown(205) Then ;Right Arrow
frame = frame + 1
If frame > 35 Then frame = 0
End If
End If
angle = (frame-startframe)*10
x# = x# + Cos(angle)*speed#
y# = y# + Sin(angle)*speed#
DrawImage ship, x#, y#, frame
Flip
Cls
Until KeyHit(1)
Ok, first off there is a few problems with your image, you have it bordered with the white lines, best not to, have them equally spaced, if its a 113x113 image, then they should be spaced as so, you will see the white border in the little demo, and the ships are slightly offset because you can't grab and save to a animation correctly. Anyways, just fix your image, plug it in, and it will be perfect :D
if a 113x113 frame is layed out the same as you have it, 10x4, then it should be a 1130pixel By 452pixel Image.
Also your image starts off at the wrong frame, in this example, it goes like this
---/270\
180-----0/360
---\90 /
0 or 360, points right, and goes clockwise
thats why you see the Startframe varible, its just bascially a offset, so i get the correct image out of your image, it would not be needed if your first image started right and rotated clockwise.
x# = x# + speed#*Cos((frame-startframe)*10)
y# = y# + speed#*Sin((frame-startframe)*10)
none of it has to be floats, just works better for smoother effects, as you can have .1 .whatever
actually if you change the signs you can make it start and rotate in different directions, for example
x# = x# - speed#*Cos((frame-startframe)*10)
y# = y# - speed#*Sin((frame-startframe)*10)
starts Left and rotates clockwise as you increase 0 to 360
a mixed + - makes it rotated counterclock wise, anyways, just mess with it, you will see
basic formual is
x = x + Cos(ANGLE)*Offset
y = y + Sin(ANGLE)*Offset
Pretty simple, Give it a go, just copy and paste the code and with your image in the dir, and run it, you move with foward with the Up key, down with the down key, rotate left and right with the left/right arrow keys. Good Luck
p.s. this isn't perfect code, just something wiped up ;D