Land - A Mobile Platformer remix

Instructions: [UPDATE] You can now use mobile!\n[UPDATE] Added 3 new levels!\n============================\nWelcome to land a platformer!\nYou can use Arrow Keys or WASD to Move\nDon't Touch Spikes!\nGet to the far right side of the screen to pass the level\nif you are struggling you can press R to reset the level \nSorry if it is short\nHave fun and enjoy!\n\nPls leave a heart and star!\nLevel art from kenney.nl\nMost code by me!\nThx for my intro @mistaclean\nThe thumbnail text is from cooltext.com\nMusic is Nightcore - Faded by Alan Walker\n\n-Fox Out!\n

@Stage\n\nwhen flag clicked\nswitch backdrop to (intro backdrop v)\n\nwhen I receive [start v]\nswitch backdrop to (1 v)\n\n@player\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-5)\n    change [ghost v] effect by (-5)\nend\ndelete this clone\n\nwhen I receive [start v]\ngo to x: (-200) y: (-100)\nset size to (80) %\nswitch costume to (costume1 v)\nshow\nset [level v] to [1]\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > [10]>>> then\n        change [xv v] by (1)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < [-10]>>> then\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching (platform v)?> then\n        change y by (1)\n        if <touching (platform v)?> then\n            change y by (1)\n            if <touching (platform v)?> then\n                change y by (1)\n                if <touching (platform v)?> then\n                    change y by (1)\n                    if <touching (platform v)?> then\n                        change y by (1)\n                        if <touching (platform v)?> then\n                            change x by ((Xv) * (-1))\n                            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [12]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <touching (platform v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (platform v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [yv v] to [12]\n        end\n    end\n    if <touching (bounce pad v)?> then\n        set [yv v] to [20]\n    end\n    change y by (1)\n    if <key (r v) pressed?> then\n        reset\n    end\n    if <<(y position) < [-177]> or <touching (spikes v)?>> then\n        reset\n    end\n    if <(x position) > [230]> then\n        change [level v] by (1)\n        broadcast (Next level! v)\n        reset\n    end\nend\n\ndefine reset\ngo to x: (-200) y: (-100)\n\n@Platform\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\n@Spikes\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (0)\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\n@Bounce Pad\n\nwhen I receive [start v]\nhide\nforever\n    if <(level) = [5]> then\n        go to x: (-126) y: (-106)\n        show\n    else\n        if <(level) = [9]> then\n            go to x: (-147) y: (-142)\n            show\n        else\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nforever\n    play sound [Nightcore - Faded v] until done\nend\n\n@intro(1)\n\nwhen flag clicked\nset [ghost v] effect to (100)\nshow\npoint in direction (90)\nwait (.5) seconds\ngo to x: (0) y: (0)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nset [jiggle v] to [0]\nwait (1) seconds\nrepeat (125)\n    set y to ((([cos v] of ((Effect) * (2)) ) * (10)) + (25))\n    point in direction ((90) + (([cos v] of (Effect) ) * (3)))\n    change [effect v] by (11)\nend\npoint in direction (90)\nbroadcast (swoosh v)\nhide\n\nwhen flag clicked\nstart sound [FR Xenogenesis v]\n\n@Intro(2)\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume17 v)\nclear graphic effects\nhide\n\nwhen I receive [swoosh v]\nshow\nstart sound [Whoosh sound effect v]\nrepeat until <(costume [number v]) = [17]>\n    next costume\nend\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nbroadcast (start v)\n\n@Sprite11\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (100)\nset size to (pick random (60) to (0)) %\nset [ghost v] effect to (pick random (65) to (112))\ngo to x: (600) y: (pick random (-167.01) to (167))\nglide (pick random (6) to (1)) secs to x: (-300) y: (pick random (-167.01) to (167))\nrepeat (20)\n    change [ghost v] effect by (20)\nend\ndelete this clone\n\nwhen I receive [start v]\ngo to [back v] layer\nhide\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nhide\n\n