Abychom docílili pohybu výskoku a pádu z plošiny, bylo potřeba hrdinovi určit další proměnné, které omezují jeho pohyb po ose y.
onClipEvent (load) {
gravity = 10; // konstanta - gravitace
maxJump = 3; // konstanta - maximální skok
}
Bylo potřeba vytvořit objekt (movie-clip), po němž se bude hrdina pohybovat, a od kterého se může odrazit, tedy plošinu (platform). Dále bylo nutné zajistit simulaci gravitace, ta byla popsána booleovskou proměnnou air. Je-li tato proměnná true, pak hrdina „padá“ po ose y rychlostí danou proměnnou gravity, na false se proměnná nastaví v okamžiku, kdy se hrdina (hero) dotkne (hitTest) movie-clipu platform.
onClipEvent (enterFrame) {
if (_root.platforms.hitTest(_x, _y, true)) {
air = false;
} else {air = true;}
// když se movie-clip hero dotýká movie-clipu platforms (plošina)
// pak nefunguje gravitace, jinak gravitace funguje
if (air == true) { // když gravitace funguje
_y += gravity;
// pohyb po ose y směrem dolů rychlostí podle proměnné gravity
this.gotoAndStop ("jump"); } // spustí se animace na snímku jump
if (air == false) { // když gravitace nefunguje
jump = true; // je povoleno skákat
jumpCount = 0; // vynulování proměnné počet kroků skoku
jumpSpeed = 25;} // nastavení rychlosti skoku
if (Key.isDown(Key.UP)) { jumpCount += 1; }
// když je stisknuta šipka nahoru, zvyšuje se proměnná jumpCount
if (Key.isDown(Key.UP) && jump == true) { _y -= jumpSpeed; }
// když je stisknuta šipka nahoru a panáček je ve skoku,
// pohybuje se po ose y směrem vzhůru rychlostí danou proměnnou jumpSpeed
if (jumpCount > maxJump && jumpSpeed > -2) { jumpSpeed -= 2; }
// omezení výskoku na počet kroků skoku, snížení rychlosti skoku
}