Escape - A Mobile Platformer 

Instructions: ANY ADVERTISING WILL BE DELETED\nALL LEVELS ARE POSSIBLE\nDO NOT REMIX WITHOUT CHANGING AS I MAY REPORT\nHOW TO PLAY\n1.arrow keys or wasd to move (mobile friendly)\n2.r to retry level and s to skip level\n3.Please ❤️ and ⭐️ If you enjoyed!\n4.Song: Mission impossible (credit to @StevenTheSquare for idea)\n5.@FUNUT for flag\n6.@dn_scrtch for player (modified by me) and spikes\n7. @chickenluv24 for the awesome thumbnail

@Stage\n\n@player\n\nwhen flag clicked\nbroadcast (start v)\ngo to x: (-196) y: (-142)\n\ndefine clones\ncreate clone of (_myself_ v)\n\nwhen I receive [next level v]\nshow\ngo to x: (-200) y: (-139)\n\nwhen I start as a clone\ngo to [back v] layer\nset size to (150) %\nset [ghost v] effect to (50)\nwait (0.1) seconds\nrepeat (10)\n    go to [back v] layer\n    change size by (-10)\n    change [ghost v] effect by (6)\nend\ndelete this clone\n\ndefine engine\nif <(x position) > [220]> then\n    broadcast (go in v)\n    wait (1) seconds\n    go to x: (-200) y: (-139)\n    change [level v] by (1)\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(mouse x) > (x position)> and <mouse down?>>> then\n    change [vx v] by (1)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<(x position) > (mouse x)> and <mouse down?>>> then\n    change [vx v] by (-1)\nend\nset [vx v] to ((vx) * (0.84))\nchange x by (vx)\nif <<touching (ground v)?> or <touching (sprite2 v)?>> then\n    change y by (-2)\n    if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n        change y by (1)\n        if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n            change y by (1)\n            if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n                change y by (1)\n                if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n                    change y by (1)\n                    if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n                        change y by (1)\n                        if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n                            change y by (-5)\n                            change x by ((-1) * (vx))\n                            if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(mouse y) > (y position)> and <mouse down?>>> and <not <(vx) = [0]>>> then\n                                set [m v] to [walljump]\n                                set [vy v] to [8]\n                                set [vx v] to (((vx) / ([abs v] of (vx) )) * (-8))\n                            else\n                                set [m v] to [wallslide]\n                                set [vx v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\nend\nchange y by (-3)\nif <<touching (ground v)?> or <touching (sprite2 v)?>> then\n    if <(vy) = [-3]> then\n        if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n            set [m v] to [run]\n        else\n            if <([abs v] of (vx) ) > [.1]> then\n                set [m v] to [slide]\n            else\n                set [m v] to [stand]\n            end\n        end\n    end\n    if <<<<(mouse y) > (y position)> and <mouse down?>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> and <not <touching color (#ffac39)?>>> then\n        set [m v] to [jump]\n        set [vy v] to [8]\n    end\nend\nif <<<<(m) = [jump]> or <(m) = [walljump]>> and <(vy) < [0]>> or <<<(m) = [run]> or <(m) = [slide]>> and <(vy) < [-3]>>> then\n    set [m v] to [fall]\nend\nchange y by (3)\nif <(vy) > [-15]> then\n    change [vy v] by (-0.5)\nend\nchange y by (-2)\nif <not <<touching (ground v)?> or <touching (sprite2 v)?>>> then\n    change y by (-1)\n    if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n        change y by (-1)\n        if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n            change y by (-1)\n            if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n                change y by (-1)\n                if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n                    change y by (-1)\n                    if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n                        change y by (5)\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (2)\nchange y by (vy)\nif <<touching (ground v)?> or <touching (sprite2 v)?>> then\n    change y by (-2)\n    if <<touching (ground v)?> or <touching (sprite2 v)?>> then\n        change y by ((-1) * (vy))\n        set [vy v] to [-3]\n    end\n    change y by (2)\nend\nif <touching (trampoline v)?> then\n    set [vy v] to [15]\nend\nif <touching color (#c3ff36)?> then\n    set [vy v] to [-3]\nend\nif <touching (finish v)?> then\n    broadcast (next level v)\nend\nif <<touching color (#b22626)?> or <touching color (#ff3636)?>> then\n    go to x: (-200) y: (-139)\nend\n\nturn right (15) degrees\n\nwhen flag clicked\nplay sound [1 v] until done\n\nwhen flag clicked\nshow\n\nwhen flag clicked\nforever\n    engine\nend\n\nwhen [s v] key pressed\nbroadcast (next level v)\n\nwhen [r v] key pressed\ngo to x: (-200) y: (-139)\n\n@ground\n\nwhen flag clicked\nhide\ngo to x: (0) y: (-2)\nset [done? v] to [0]\nset [level v] to [1]\nset size to (100) %\n\nwhen I receive [next level v]\nwait (0.002) seconds\nnext costume\n\nwhen I receive [start v]\nshow\nswitch costume to (1 v)\n\n@Sprite1\n\nwhen flag clicked\nbroadcast (start v)\n\n@Finish\n\nset size to (200) %\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (195) y: (-160)\n\nwhen flag clicked\nforever\n    wait (0.02) seconds\n    next costume\n    show\nend\n\n@Play\n\nwhen flag clicked\nshow\ngo to x: (-10) y: (-40)\npoint in direction (90)\nforever\n    Set Size ((([sin v] of ((timer) * (90)) ) * (7)) + (100))\n    turn right ((((mouse x) / (20)) - (direction)) / (8)) degrees\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (25)\n        if <mouse down?> then\n            set [ghost v] effect to (50)\n            wait until <not <mouse down?>>\n            broadcast (start v)\n            hide\n        end\n    else\n        clear graphic effects\n    end\nend\n\nchange size by (((100) - (size)) / (3))\n\ndefine Set Size (siz)\nswitch costume to (costume2 v)\nset size to (siz) %\nswitch costume to (1 v)\n\nchange size by (((100) - (size)) / (3))\n\nchange size by (((20) - (size)) / (3))\n\n@trampoline\n\nwhen flag clicked\nhide\n\nshow\n\ngo to x: (91) y: (202)\n\nwhen flag clicked\nforever\n    if <(Level) = [1]> then\n        hide\n    end\n    if <(Level) = [3]> then\n        go to x: (-2) y: (-59)\n        show\n    end\n    if <(Level) = [4]> then\n        hide\n    end\n    if <(Level) = [5]> then\n        hide\n    end\nend\n\n@spikes\n\nwhen flag clicked\nswitch costume to (spikes v)\nset [level v] to [1]\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [3]> then\n        go to x: (15) y: (0)\n        show\n    end\n    if <(Level) = [4]> then\n        go to x: (74) y: (0)\n        show\n    end\n    if <(Level) = [5]> then\n        switch costume to (spikes2 v)\n        show\n    end\n    if <(Level) = [6]> then\n        hide\n    end\nend\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\n@Sprite2\n\nwhen flag clicked\nforever\n    if <(Level) = [6]> then\n        hide\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\nforever\n    if <(Level) = [1]> then\n        hide\n    end\n    if <(Level) = [5]> then\n        go to x: (36) y: (40)\n        show\n        glide (1.5) secs to x: (245) y: (40)\n        glide (1.5) secs to x: (36) y: (40)\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    show\n    go to x: (0) y: (0)\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\nhide\n\n@Sprite3\n\nwhen flag clicked\nforever\n    if <(Level) = [6]> then\n        stop [all v]\n    end\nend\n\n