Log In  

Below is a sequence of images of the problem I am facing.

I use the mget() function to return the sprite value, but when it changes the numeric value, it doesn't change the sprite automatically.

As shown in the images, it changes only after the character is on the second block of water, and the same thing happens when he comes out of the water, as if there is a delay.

Does anyone know how to resolve?

I'll leave the cart for you to help me

Cart #batata_1-0 | 2023-05-22 | Code ▽ | Embed ▽ | No License

P#130009 2023-05-22 03:41

1

Oh man, that was tricky for me, I totally thought that should work.
I eventually realised you check the square you're on, then move the character, so its always looking at the last square you were on.
I've not got an elegant solution, but the gist is you want to check the square you're about to move onto. so I added a map check under each button command to look ahead and that seemed to work.

function mov()

if btnp(⬆️) then
 map_tile=mget(pato.x+4\8,(pato.y+4\8)-1)
 if map_tile == 52 then
  pato.y-=1
  pato.sp=55
 else
  pato.y-=1
  pato.sp=3
 end
end

if btnp(⬇️) then
 map_tile=mget(pato.x+4\8,(pato.y+4\8)+1)
 if map_tile == 52 then
  pato.y+=1
  pato.sp=53
 else
  pato.y+=1
  pato.sp=1
 end
end

if btnp(➡️) then
 map_tile=mget((pato.x+4\8)+1,pato.y+4\8)
 if map_tile == 52 then
  pato.x+=1
  pato.flp=false
  pato.sp=54
 else
  pato.x+=1
  pato.flp=false
  pato.sp=2
 end
end

if btnp(⬅️) then
 map_tile=mget((pato.x+4\8)-1,pato.y+4\8)
 if map_tile == 52 then
  pato.x-=1
  pato.flp=true
  pato.sp=54
 else
  pato.x-=1
  pato.flp=true
  pato.sp=2
 end
end

end

so if you push right it does mget x+1, if you push down it does mget y+1, etc...

Maybe there is a nicer way of doing that, but this seems to work.
(BTW, I'm loving the duck in the hat. It's so cute)

P#130016 2023-05-22 08:35 ( Edited 2023-05-22 08:41)
1

Thank you so much, that was perfect. It doesn't matter how the solution ended up looking, but if it's working that's fine. Thanks again for the help.

P#130025 2023-05-22 14:26

can you help me again? I have a problem that seems silly, but when I try to run it, I can't solve it. I already tried many tutorials on map border collision, and objects, but I can't find any easy to understand. do you have any idea how i can do this?

P#130027 2023-05-22 16:45

[Please log in to post a comment]