Levitate - rage platformer #all #games
@Stage\n\n@hitbox\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nforever\n    go to x: (0) y: (-50)\n    if <touching (death v)?> then\n        broadcast (dead v)\n    end\n    if <touching (next level v)?> then\n        start sound [Collect v]\n        broadcast (next level v)\n        wait until <not <touching (next level v)?>>\n    end\nend\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\nhide\n\n@player\n\nwhen flag clicked\nset size to (100) %\nshow\nswitch costume to (costume1 v)\nset rotation style [left-right v]\nforever\n    if <(in air?) = [no]> then\n        if <<<key (w v) pressed?> or <<key (d v) pressed?> or <key (a v) pressed?>>> or <<key (up arrow v) pressed?> or <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>>> then\n            next costume\n            if <<(costume [number v]) = [1]> or <(costume [number v]) = [6]>> then\n                switch costume to (costume2 v)\n            end\n            wait (0.05) seconds\n        else\n            switch costume to (costume1 v)\n        end\n    else\n        switch costume to (costume6 v)\n    end\n    if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n        point in direction (-90)\n    end\n    if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n        point in direction (90)\n    end\nend\n\nwhen I receive [tick v]\ngo to (hitbox v)\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\nhide\n\nrepeat (13)\n    change [level v] by (1)\nend\n\n@in air?\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (100)\ngo to x: (0) y: (-50)\nforever\n    if <touching (groud v)?> then\n        set [in air? v] to [no]\n    else\n        set [in air? v] to [yes]\n    end\nend\n\nwhen flag clicked\nshow\nforever\n    if <(in air?) = [no]> then\n        if <<<key (w v) pressed?> or <<key (d v) pressed?> or <key (a v) pressed?>>> or <<key (up arrow v) pressed?> or <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>>> then\n            start sound [Footsteps v]\n            wait (0.3) seconds\n        end\n    end\nend\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\nhide\n\n@groud\n\nwhen flag clicked\nshow\nset [level v] to [1]\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (hack v)\nset size to (500) %\nswitch costume to ((level) + (1))\ngo to x: (1050) y: (660)\nforever\n    platfromer [0.8] [-10] [-0.9] [0.8]\nend\n\ndefine platfromer (gravity) (jump) (speed) (friction)\nchange [y v] by (gravity)\nchange y by (y)\nif <touching (hitbox v)?> then\n    repeat until <not <touching (hitbox v)?>>\n        change y by ((([abs v] of (y) ) / (y)) * (-1))\n    end\n    set [y v] to (<<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <(([abs v] of (y) ) / (y)) = [1]>> * (jump))\nend\nset [x v] to ((friction) * ((x) + ((<<key (d v) pressed?> or <key (right arrow v) pressed?>> * (speed)) + (<<key (a v) pressed?> or <key (left arrow v) pressed?>> * ((speed) * (-1))))))\nchange x by (x)\nif <touching (hitbox v)?> then\n    repeat until <not <touching (hitbox v)?>>\n        change x by ((([abs v] of (x) ) / (x)) * (-1))\n    end\nend\n\nwhen I receive [dead v]\nif <not <((level) + (1)) = [14]>> then\n    wait (0.5) seconds\n    go to x: (1050) y: (660)\nend\n\nwhen I receive [next level v]\nif <not <((level) + (1)) = [14]>> then\n    wait (0.5) seconds\n    go to x: (1050) y: (660)\n    change [level v] by (1)\nend\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <((level) + (1)) = [14]> then\n        stop [other scripts in sprite v]\n        broadcast (the end v)\n        hide\n        stop [this script v]\n    else\n        switch costume to ((level) + (1))\n    end\nend\n\nchange [level v] by (1)\n\nchange [level v] by (-1)\n\n@death\n\nwhen flag clicked\nshow\nset [x v] to [0]\nset [y v] to [0]\nset [ghost v] effect to (100)\nswitch costume to (costume2 v)\nset size to (500) %\nswitch costume to (costume1 v)\nforever\n    broadcast (tick v)\nend\n\nwhen I receive [tick v]\ngo to (groud v)\n\nset size to (100) %\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\nhide\n\n@black screen\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [dead v]\nif <not <((level) + (1)) = [14]>> then\n    show\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    wait (0.2) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    hide\nend\n\nwhen I receive [next level v]\nif <not <((level) + (1)) = [14]>> then\n    show\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    wait (0.2) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    hide\nend\n\nwhen I receive [the end v]\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (0.2) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@light effect\n\nwhen flag clicked\nshow\nset [ghost v] effect to (40)\ngo to x: (0) y: (0)\ngo to [front v] layer\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\nhide\n\n@next level\n\nwhen flag clicked\nshow\nswitch costume to (hack v)\nset size to (500) %\nswitch costume to (costume1 v)\nforever\n    if <touching (_edge_ v)?> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [tick v]\ngo to (groud v)\n\nwhen flag clicked\nforever\n    switch costume to ((level) + (1))\nend\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\nhide\n\n@animations\n\nwhen I receive [the end v]\nswitch costume to (costume1 v)\nwait (0.5) seconds\nshow\ngo to x: (0) y: (0)\nrepeat (50)\n    next costume\n    wait (0.1) seconds\nend\nwait (1.5) seconds\nnext costume\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen flag clicked\nforever\n    play sound [Hollow Knight OST - Dirtmouth v] until done\nend\n\nrepeat (13)\n    change [level v] by (1)\nend\n\nwhen I receive [the end v]\nswitch costume to (costume1 v)\nwait (0.5) seconds\nshow\ngo to x: (0) y: (0)\nrepeat (9)\n    start sound [step v]\n    wait (0.3) seconds\nend\nplay sound [collect v] until done\nwait (0.05) seconds\nstart sound [step v]\n\n@thumbnail\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.01)\nshow\nforever\n    go to [front v] layer\nend\n\n
WAD or arrows keys to move and jump, touch the white dot to proceed to the next level. \n\nalone, pain, panic, frustration...\n\n