For me this was not that easy to do. But it is interesting, simpley by butting numbers in a data map, one can create a image,..
'moving the bunny back and forth:
limitfps% = 32
bunnymaxsp% = 100 * limitfps% '*pixels/sec
bunnydirection% = 1
bunnyspeed% = bunnymaxsp% / limitfps%
BunnyWidth% = 16
BunnyHeight% = 16
SCREEN 13
OUT &H3C8, 0
OUT &H3C9, 0
OUT &H3C9, 48
_FULLSCREEN
CLS
' Bitmap for the sprite
DATA 0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,0,0
DATA 0,0,0,0,0,15,15,0,0,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,15,0,0,0,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,15,0,15,0,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,15,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,15,15,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,15,15,15,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,15,15,15,15,15,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,15,15,15,15,0,0,0,0,0
DATA 0,0,0,0,0,15,0,15,15,15,15,0,15,0,0,0,0
DATA 0,0,0,0,0,0,0,0,15,15,15,15,0,0,0,0,0
DATA 0,0,0,0,0,0,15,15,0,0,0,0,15,15,0,0,0
DATA 0,0,0,15,15,15,0,0,0,0,0,0,15,15,15,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
' An array to hold the sprite
DIM Bunny%(BunnyWidth%, BunnyHeight%)
' Read the sprite in from DATA to the array
FOR Y = 0 TO BunnyHeight%
FOR X = 0 TO BunnyWidth%
READ Bunny%(X, Y)
NEXT X
NEXT Y
bunnystart# = TIMER(.001)
bunnydirection% = 1
BunnyStartx% = 0
dothisstuff% = 1
DO
DO
LOOP UNTIL _MOUSEINPUT = 0
SELECT CASE INKEY$
CASE CHR$(27)
dothisstuff% = 0
END SELECT
IF dothisstuff% THEN
CLS
'* your mouse and key handling here
IF bunnypositionx% >= _WIDTH(0) - BunnyWidth% THEN '* BunnyWidth% is width of bunny image
bunnydirection% = -bunnydirection%
BunnyStartx% = bunnypositionx% - 1
bunnystart# = TIMER(.001)
ELSEIF bunnypositionx% < 0 THEN
bunnydirection% = -bunnydirection%
BunnyStartx% = bunnypositionx% + 1
bunnystart# = TIMER(.001)
END IF
bunnypositionx% = BunnyStartx% + bunnydirection% * bunnyspeed% * (TIMER(.001) - bunnystart#)
PUT2 Bunny%(), BunnyWidth%, BunnyHeight%, bunnypositionx%, 170
_DISPLAY
_LIMIT limitfps%
ELSE
EXIT DO
END IF
LOOP
SUB PUT2 (Sprite() AS INTEGER, XSize AS INTEGER, YSize AS INTEGER, X AS INTEGER, Y AS INTEGER)
' Draw the sprite from the array onto the screen
FOR YP = 0 TO YSize - 1
FOR XP = 0 TO XSize - 1
PSET (X + XP, Y + YP), Sprite(XP, YP)
NEXT XP
NEXT YP
END SUB
'--------------------------------------------------------------------------------
Then Code Guy from the qb64.net gave me the code to make it move.
from Garry