Geht's 'nen bischen präziser?
Starten alle Animationen gleichzeitig? Wann sollen die neuen Positionen gesetezt werden? Bevor oder nachdem eine / alle animationen zuende sind?
Vielleicht hilft dir das:
Code: Alles auswählen
InitSprite() : InitKeyboard()
OpenWindow(0,0,0,640,480,"untitled",#WS_SYSMENU | #WS_CAPTION | 1)
OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0)
CreateSprite(0,64 * 10,64)
StartDrawing(SpriteOutput(0))
For i=0 To 9
DrawingMode(0)
Ellipse(i*64+32,32,32,32,RGB(255-i*25,0,0))
DrawingMode(4)
Ellipse(i*64+32,32,32,32,#White)
Next
StopDrawing()
#POSITIONS = 30
#ANIMATIONS = 14
Dim SpritePos.w(#POSITIONS-1,1)
Dim TempPos.w(#ANIMATIONS-1,1)
For i=0 To #POSITIONS-1
SpritePos(i,0) = Random(640 - 64)
SpritePos(i,1) = Random(480 - 64)
Next
For i=0 To #ANIMATIONS-1
PosID = Random(#POSITIONS-1)
TempPos(i,0) = SpritePos(PosID,0)
TempPos(i,1) = SpritePos(PosID,1)
Next
Repeat
EventID = WindowEvent()
ClearScreen(RGB(50,0,0))
ExamineKeyboard()
If AnimDelay = 6
AnimDelay = 0
If AnimFrame = 9 : AnimMode = 1 : EndIf
If AnimFrame = 0 And AnimMode = 1
AnimMode = 0
For i=0 To #ANIMATIONS-1
PosID = Random(#POSITIONS-1)
TempPos(i,0) = SpritePos(PosID,0)
TempPos(i,1) = SpritePos(PosID,1)
Next
EndIf
If AnimMode = 0 : AnimFrame + 1 : EndIf
If AnimMode = 1 : AnimFrame - 1 : EndIf
EndIf
AnimDelay + 1
ClipSprite(0,64 * AnimFrame,0,64,64)
For i=0 To #ANIMATIONS-1
DisplayTransparentSprite(0,TempPos(i,0),TempPos(i,1))
Next
FlipBuffers()
Until KeyboardPushed(1) Or EventID = 16