Super NES Programming/Platform Physics

      Ground Mode

      Ground mode is when the player is standing or walking on the ground. In ground mode, the following routine is performed:

      1) Check to see if jumping button is pressed

      2) If so, jump to "initiate_jump_mode" routine

      3) Check collision with the tiles below

      4) If all tiles underneath player are empty, jump to "initiate_fall_mode" routine

      Initiate Jump Mode

      1) set "y_velocity" to "take_off_velocity"

      2) set "jump_mode" flag

      Initiate Fall Mode

      1) set "y_velocity" to #0

      2) set "jump_mode" flag

      Jump/Fall Mode

      Jump/Fall mode is when the player jumps or falls. In jump/fall mode, the following routine is performed:

      1) increment "y_velocity" by #gravital_acceleration

      2) add "y_velocity" to "y_coordinate"

      3) if "y_velocity">0, then go to "fall_mode" routine

      Fall Mode

      1) checks for collision between player and tiles

      2) If collision is detected, follow "land_on_ground" routine

      Land on Ground

      1) reset "jump_mode" flag

      2) pop the sprite up to the top of the ground tile

      Last modified on 22 March 2012, at 21:38