05-08-2024, 10:54 PM
here is mod using orbit
Code: (Select All)
Screen _NewImage(1280, 720, 32)
_ScreenMove 0, 0
'Dim CIRCLOOP1(17, 3)
Dim Shared SPRITES As Long
SPRITES = _LoadImage("inva.png")
_PutImage , SPRITES, 0
_ClearColor _RGB32(&H39, &H2A, &H02), SPRITES
'For I = 1 To 16: Read CIRCLOOP1(I, 1), CIRCLOOP1(I, 2): Next I
'Data 3,1,4,1,5,1,6,2,7,3,7,4,7,5,6,6,5,7,4,7,3,7,2,6,1,5,1,4,1,3,2,2
'Cls , _RGB32(&H39, &H2A, &H02)
frame = 1
RR% = 400: XX% = 8
Do
'For I = 1 To 16
' Select Case frame
' Case 1
' _PutImage (CIRCLOOP1(I, 1) * 64 + RR%, CIRCLOOP1(I, 2) * 64), SPRITES, , (0, 0)-(63, 63)
' Case 2
' _PutImage (CIRCLOOP1(I, 1) * 64 + RR%, CIRCLOOP1(I, 2) * 64), SPRITES, , (64, 0)-(127, 63)
' End Select
'Next I
'Cls , _RGB32(&H39, &H2A, &H02)
Cls , _RGB32(0, 48, 20)
For a = 0 To 359 Step 360 / 16
orbit RR%, _Height / 2, 310, a + da, x, y
Select Case frame
Case 1
_PutImage (x - _Width(SPRITES) / 2, y - _Height(SPRITES) / 2), SPRITES, , (0, 0)-(63, 63)
Case 2
_PutImage (x - _Width(SPRITES) / 2, y - _Height(SPRITES) / 2), SPRITES, , (64, 0)-(127, 63)
End Select
orbit RR%, _Height / 2, 220, a - da, x, y
Select Case frame
Case 1
_PutImage (x - _Width(SPRITES) / 2, y - _Height(SPRITES) / 2), SPRITES, , (0, 0)-(63, 63)
Case 2
_PutImage (x - _Width(SPRITES) / 2, y - _Height(SPRITES) / 2), SPRITES, , (64, 0)-(127, 63)
End Select
Next
_Display
_Limit 5
da = da + 2
frame = frame + 1
If frame > 2 Then frame = 1: Play "T255L32O1G" Else Play "T255L32O1C"
i$ = InKey$
RR% = RR% + XX%
If RR% > _Width - 320 Then XX% = -8
If RR% < 380 Then XX% = 8
Loop While i$ <> " "
Sub orbit (x0rigin, yOrigin, radius, degrees, xOut, yOut) ' all default single should be ok
xOut = x0rigin + radius * Cos(_D2R(degrees))
yOut = yOrigin + radius * Sin(_D2R(degrees))
End Sub
b = b + ...