well i made my own bmp files and tested it and i can't get it to work either )-: i think you have found a bug )-:
i know it works if your texturing an object and set the tranparancy 1
(i have a prog that i am writing that uses this)
or
make them sprites
I just change your code and verified it
sync on : sync rate 15
hide mouse
draw to front
load bitmap "blocks.bmp",1
get image 1, 0, 0, 63, 63
get image 2, 64, 0, 128, 63
get image 3, 128, 0, 192, 63
get image 4, 192, 0, 256, 63
get image 5, 256, 0, 320, 63
delete bitmap 1
dim map01_tile_layer(7,5)as integer
dim map01_sprite_layer(7,5)as integer
for y = 0 to 5
for x = 0 to 7
read map01_tile_layer(x,y)
next x
next y
Data 1,1,1,1,1,1,1,1
Data 1,3,3,3,3,3,3,1
Data 1,3,3,3,3,3,3,1
Data 1,3,3,3,3,3,3,1
Data 1,3,3,3,3,3,3,1
Data 1,1,1,1,1,1,1,1
for y = 0 to 5
for x = 0 to 7
read map01_sprite_layer(x,y)
next x
next y
Data 4,4,4,4,4,4,4,4
Data 4,5,5,5,5,5,5,4
Data 4,5,5,5,5,5,5,4
Data 4,5,5,5,5,5,5,4
Data 4,5,5,5,5,5,5,4
Data 4,4,4,4,4,4,4,4
imagenumber=1000
LOAD BITMAP "charwalkup.bmp", 5
FOR up = 1 to 4
GET IMAGE imagenumber, (up - 1) * 23, 0, up * 23, 32 ,1
inc imagenumber
NEXT up
delete bitmap 5
`split
load bitmap "charwalkdown.bmp", 6
For down = 1 to 4
get image imagenumber, (down - 1) * 23, 0, down * 23, 32, 1
inc imagenumber
Next down
delete bitmap 6
`split
load bitmap "charwalkleft.bmp", 7
For left = 1 to 4
get image imagenumber, (left - 1) * 23, 0, left * 23, 32, 1
inc imagenumber
Next left
delete bitmap 7
`split
load bitmap "charwalkright.bmp", 8
For right = 1 to 4
get image imagenumber, (right - 1) * 23, 0, right * 23, 32, 1
inc imagenumber
Next right
delete bitmap 8
up_still_frame = 1000
up_start_frame = 1001
up_end_frame = 1003
up_frame = up_still_frame
down_still_frame = 1004
down_start_frame = 1005
down_end_frame = 1007
down_frame = down_still_frame
left_still_frame = 1008
left_start_frame = 1009
left_end_frame = 1011
left_frame = left_still_frame
right_STILL_FRAME = 1012
right_START_FRAME = 1013
right_END_FRAME = 1015
right_FRAME = right_STILL_FRAME
anypos=1000
xPOS = 100
yPOS = 100
t=2
for x = 0 to 7
for y = 0 to 5
sprite t, x * 63 , y * 63,map01_tile_layer(x, y)
inc t
sprite t, x * 63 , y * 63, map01_sprite_layer(x, y)
inc t
next y
next x
do
IF upkey()
dec yPOS,3
INC up_FRAME
IF up_FRAME > up_END_FRAME THEN up_FRAME = up_START_FRAME
anypos=up_FRAME
else
if anypos <= 1003 then anypos=1000
endif
`split
IF DOWNKEY()
inc ypos,3
inc down_frame
if down_frame > down_end_frame then down_frame = down_start_frame
anypos=down_frame
else
if anypos <= 1007 and anypos =>1004 then anypos=1004
endif
`split
IF LEFTKEY()
dec xpos,3
inc left_frame
if left_frame > left_end_frame then left_frame = left_start_frame
anypos=left_frame
else
if anypos <= 1011 and anypos =>1008 then anypos=1008
endif
`split
IF rightkey()
inc xpos,3
inc right_frame
if right_frame > right_end_frame then right_frame = right_start_frame
anypos=right_frame
else
if anypos <= 1015 and anypos =>1012 then anypos=1012
endif
sprite 1, xpos, ypos, anypos
fastsync
loop
i hope it helps
My advice is free -
unfortunately you get what you pay for (-: