I generated a map and use mset to update the sprites on the map. But when I tested to print out the sprite number using mget and the coordinates of my cursor, it always returns the same sprite number. I am confused about where I did wrong.
This is what I use for drawing the map and updating.
function draw_game() map(0,0,0,0,16,16) update_map() draw_house() draw_cows() cow_grazing_anim() draw_cursor() print("⧗:"..game_time,60,8,1) end function update_map() for g in all(grass) do mset(g.x,g.y,g.s) end end |
And I use this to check with mget, it returns all the same sprite number.
if btnp(4) then --state=2 local t=mget(to_grid(cs.x,cs.y)) printh("x:"..cs.x.."y:"..cs.y..",spr:"..t) end |
I attached an image with the map I draw and the grass sprite should be from 50 to 53 but I get like all 53 or all 52. which is weird. I have attached my cartridge below, would be great if someone enlighten me on what I did wrong.



The to_grid() function returns a table, so you can’t just call mget(to_grid(...)).
You can either use mget(unpack(to_grid(...))), or make it so that to_grid() returns a tuple: return x/8,y/8.
[Please log in to post a comment]