Code: (Select All)
SCREEN _NEWIMAGE(1000, 768, 32): DIM CIRCLOOP1(17, 3)
DIM SHARED SPRITES AS LONG, BACKIMAGE AS LONG
SPRITES = _LOADIMAGE("inva.png"): BACKIMAGE = _LOADIMAGE("sc1.png")
_FULLSCREEN
FOR I = 1 TO 16: READ CIRCLOOP1(I, 1), CIRCLOOP1(I, 2): NEXT I: CL$ = "1111111111111000"
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: frame = 1: RR% = 60: XX% = 8: D = 1: z = 0
DO
_PUTIMAGE (0, 0 - z), BACKIMAGE
FOR I = 1 TO 16: B$ = MID$(CL$, I, 1)
SELECT CASE frame
CASE 1: IF B$ = "1" THEN _PUTIMAGE (CIRCLOOP1(I, 1) * 48 + RR%, CIRCLOOP1(I, 2) * 48), SPRITES, , (0, 0)-(63, 63)
CASE 2: IF B$ = "1" THEN _PUTIMAGE (CIRCLOOP1(I, 1) * 48 + RR%, CIRCLOOP1(I, 2) * 48), SPRITES, , (64, 0)-(127, 63)
'CASE 1: IF B$ = "1" THEN _PUTIMAGE (CIRCLOOP1(I, 1) * 48 + RR%, CIRCLOOP1(I, 2) * 48), SPRITES, , (128, 0)-(191, 63)
'CASE 2: IF B$ = "1" THEN _PUTIMAGE (CIRCLOOP1(I, 1) * 48 + RR%, CIRCLOOP1(I, 2) * 48), SPRITES, , (192, 0)-(255, 63)
END SELECT: NEXT I: _DISPLAY: _LIMIT 10
frame = frame + 1: IF frame > 2 THEN frame = 1: ' PLAY "T255L32O1G" ELSE PLAY "T255L32O1C"
i$ = INKEY$: RR% = RR% + XX%: IF RR% > 610 THEN XX% = -8: D = 1: ELSE IF RR% < 30 THEN XX% = 8: D = 2
IF D = 1 THEN B$ = RIGHT$(CL$, 1): CL$ = B$ + LEFT$(CL$, 15)
IF D = 2 THEN B$ = LEFT$(CL$, 1): CL$ = RIGHT$(CL$, 15) + B$
IF INT(RND(1) * 20) = 1 THEN D = D + 1: XX% = -8: IF D > 2 THEN D = 1: XX% = 8
z = z + 1: IF z > 995 THEN z = 0:' z = speed of scroll (higher number = pixels to jump less smoother the higher)
LOOP WHILE i$ <> " "
_FREEIMAGE BACKIMAGE
_FREEIMAGE SPRITES
END