Как избежать двух перебираний списка, если логика цикла устроена как:
Const FPS%=75
Global period#=1000.0/Float(FPS), elapsed%, ticks%, tween#, time%
time = MilliSecs()-period
Repeat
Repeat
elapsed=MilliSecs()-time
Until elapsed
ticks=elapsed/Int(period)
tween=Float(elapsed Mod period)/period
For Local i% = 1 To ticks
time:+Int(period)
' LOGIC
перебор 1(для логики)
Next
'GRAPHICS
Cls()
перебор 2(для отрисовки)
Flip()
Forever
End
И еще, я правильно удаляю обекты из памяти и из списка?
If ((so.y > GraphicsHeight() + 300) Or (so.x > GraphicsWidth() + 300) Or (so.x < 0 - 300)) Then so.live = False
If Not (so.live) Then SpaceObjectsList.Remove(so)
so = Null