Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
sin cos using SUB SumLocate (x,y,l)
#9
oh I forgot the width of inva.png was 2 frames wide. that's why i could not repeat the pattern over and over like this:
Code: (Select All)
Screen _NewImage(1280, 720, 32)
_ScreenMove 0, 0
Dim Shared SPRITES As Long
SPRITES = _LoadImage("inva.png")
_PutImage , SPRITES, 0
_ClearColor _RGB32(&H39, &H2A, &H02), SPRITES
frame = 1
RR% = 400: XX% = 8
Do
    Cls , _RGB32(0, 48, 20)
    For a = 0 To 359 Step 360 / 16
        orbit RR%, _Height / 2, 320, a + da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 4, y - _Height(SPRITES) / 2), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 4, y - _Height(SPRITES) / 2), SPRITES, , (64, 0)-(127, 63)
        End Select
        orbit RR%, _Height / 2, 240, a - da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 4, y - _Height(SPRITES) / 2), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 4, y - _Height(SPRITES) / 2), SPRITES, , (64, 0)-(127, 63)
        End Select

        orbit RR%, _Height / 2, 180, a + da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 8, y - _Height(SPRITES) / 4)-Step(_Width(SPRITES) / 4, _Height(SPRITES) / 2), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 8, y - _Height(SPRITES) / 4)-Step(_Width(SPRITES) / 4, _Height(SPRITES) / 2), SPRITES, , (64, 0)-(127, 63)
        End Select
        orbit RR%, _Height / 2, 140, a - da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 8, y - _Height(SPRITES) / 4)-Step(_Width(SPRITES) / 4, _Height(SPRITES) / 2), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 8, y - _Height(SPRITES) / 4)-Step(_Width(SPRITES) / 4, _Height(SPRITES) / 2), SPRITES, , (64, 0)-(127, 63)
        End Select

        orbit RR%, _Height / 2, 110, a + da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), SPRITES, , (64, 0)-(127, 63)
        End Select
        orbit RR%, _Height / 2, 90, a - da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), SPRITES, , (64, 0)-(127, 63)
        End Select

        orbit RR%, _Height / 2, 70, a + da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), SPRITES, , (64, 0)-(127, 63)
        End Select
        orbit RR%, _Height / 2, 50, a - da, x, y
        Select Case frame
            Case 1
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), SPRITES, , (0, 0)-(63, 63)
            Case 2
                _PutImage (x - _Width(SPRITES) / 16, y - _Height(SPRITES) / 8)-Step(_Width(SPRITES) / 8, _Height(SPRITES) / 4), 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 + ...
Reply


Messages In This Thread
sin cos using SUB SumLocate (x,y,l) - by pmackay - 05-08-2024, 06:53 AM
RE: sin cos using SUB SumLocate (x,y,l) - by bplus - 05-10-2024, 02:47 AM



Users browsing this thread: 2 Guest(s)