mid( a, b, c )
The mid(a, b, c) function is used to determine the number in the middle of three given numbers
For example, if we call
mid(10, 4, 20), the function will compare the three arguments and determine that
10 is the middle value. Therefore, it will return
middle = mid(10, 4, 20) print(middle) --prints 10
Using mid() to Create Limits
One way to use this function in your game, is to make sure a number stays within a certain range of numbers. For example, keeping a player within the screen's width. The player's x coordinate can be limited to the screen's left side of 0 and right side of 127.
If we call
mid(), with the arguments of the player x, and the minimum and maximum of the allowed range, then the player's x will be limited to those minimum and maximum values. Here's an example:
left=0 right=127 x=60 --player function _update() --player movement if btn(⬅️) then x-=1 end if btn(➡️) then x+=1 end x= mid(left,right,x) end function _draw() spr(player_sprite,x,120) end
Notice how the player does move off the right side of the screen. This is to demonstrate that you need to remember that a sprite's X and Y coordinates are for the top-left corner of the sprite. So using mid above is still working to limit the player's X on the screen, because it is not letting the player's left side leave the range of the screen.
To fix this, remember to adjust the right side limit by the sprite's width like so:
4 Oct 2023