Generic platformer (A platformer)

Instructions: arrow keys to move and jump. be amazed by my awesome intro ;d *winks sarcastically* THIS IS A JOKE PROJECT

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nplay sound [Vexento - Pixel Party v] until done\nset volume to (100) %\n\nwhen I receive [its time to stop v]\nrepeat (20)\n    change volume by (-5)\nend\nstop all sounds\nstop [this script v]\n\nwhen I receive [title screen v]\nset volume to (100) %\nwait (0.5) seconds\nset volume to (100) %\nforever\n    play sound [Masked Heroes v] until done\n    set volume to (100) %\nend\n\nwhen I receive [title screen v]\nset volume to (100) %\n\nwhen I receive [start v]\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [title screen v]\nswitch backdrop to (backdrop3 v)\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nhide\n\n@Sprite1\n\nwhen I receive [spin boi v]\nwait (8) seconds\nbroadcast (ITS TIME TO STOP v) and wait\n\nwhen flag clicked\nhide\nswitch costume to (costume4 v)\nset size to (100) %\ngo to x: (-281) y: (3)\nset [velocity logo v] to [1]\nshow\nrepeat until <(x position) > [-130]>\n    change [velocity logo v] by (0.5)\n    change x by (velocity logo)\nend\nrepeat until <(velocity logo) < [1]>\n    change [velocity logo v] by (-0.5)\n    change x by (velocity logo)\nend\nset [velocity logo v] to [0]\nrepeat until <(size) > [300]>\n    change size by (100)\nend\nwait (0.1) seconds\nrepeat until <(size) < [101]>\n    change size by (-100)\nend\nbroadcast (spin boi v)\nwait (4.5) seconds\nforever\n    glide (0.01) secs to x: (pick random (17) to (7)) y: (pick random (9) to (-2))\nend\n\nwhen I receive [title screen v]\nhide\n\n@spin boi\n\nwhen flag clicked\nhide\ngo to x: (0) y: (1)\ngo [backward v] (20) layers\nforever\n    turn right (3) degrees\nend\n\nwhen I receive [spin boi v]\nshow\n\nwhen I receive [title screen v]\nhide\n\n@Sprite2\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\ngo to [front v] layer\nhide\n\nwhen I receive [title screen v]\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [its time to stop v]\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nbroadcast (title screen v)\nstop [this script v]\n\n@♛Wow Meme♛\n\nwhen flag clicked\nswitch costume to (wow meme-0 v)\nset size to (100) %\ngo to x: (297) y: (119)\nhide\n\nwhen I receive [spin boi v]\nswitch costume to (wow meme-0 v)\nwait (1.5) seconds\nshow\nnext costume\nrepeat until <(x position) < [186]>\n    change x by (-3)\nend\nrepeat (18)\n    next costume\n    wait (0.05) seconds\nend\nstart sound [WOW v]\nrepeat (22)\n    next costume\n    wait (0.05) seconds\nend\nhide\n\n@Sprite3\n\nwhen flag clicked\ngo to x: (0) y: (-20)\nhide\n\nwhen I receive [title screen v]\nshow\n\nwhen I receive [title screen v]\nwait (0.5) seconds\nforever\n    if <key (space v) pressed?> then\n        broadcast (start v)\n        hide\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\nhide\nforever\n    go to x: (0) y: (0)\nend\n\nwhen I receive [start v]\nshow\n\nwhen I receive [nextlevel v]\nnext costume\nwait (1) seconds\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <(costume [number v]) = [14]> then\n        broadcast (realistic boi v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [back to derp v]\nbroadcast (NextLevel v)\nstop [this script v]\n\n@Sprite5\n\nwhen I receive [start v]\nshow\ngo to x: (-167) y: (-34)\nforever\n    change [yv v] by (-0.5)\n    if <key (right arrow v) pressed?> then\n        if <(water) = [0]> then\n            change [xv v] by (0.7)\n        end\n    end\n    go to [front v] layer\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-0.7)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change y by (1)\n                    end\n                    if <touching color (#000000)?> then\n                        change x by ((Xv) * (-1))\n                        change x by (-1)\n                        change y by (-5)\n                        change x by (1)\n                        if <key (up arrow v) pressed?> then\n                            if <(Xv) < [0]> then\n                                set [yv v] to [10]\n                                set [xv v] to [10]\n                            else\n                                set [yv v] to [10]\n                                set [xv v] to [-10]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (Yv)\n    if <touching color (#000000)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <key (up arrow v) pressed?> then\n        if <touching color (#000000)?> then\n            if <(water) = [0]> then\n                set [yv v] to [8]\n            end\n        end\n    end\n    if <touching color (#003fff)?> then\n        set [yv v] to [20]\n    end\n    change y by (1)\n    if <touching (sprite6 v)?> then\n        broadcast (nextlevel v)\n        go to x: (-167) y: (-34)\n    end\n    if <touching color (#ff0000)?> then\n        go to x: (-167) y: (-34)\n        if <<([costume # v] of [sprite4 v]) = [15]> or <([costume # v] of [sprite4 v]) = [14]>> then\n            go to x: (-167) y: (0)\n        end\n    end\nend\n\nset [yv v] to [20]\nchange y by (1)\n\nwhen flag clicked\nhide\n\nwhen I receive [realistic boi v]\ngo to x: (-167) y: (0)\n\nwhen I receive [realistic boi v]\ngo to x: (-167) y: (0)\n\n@Sprite6\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\n@Sprite7\n\nwhen flag clicked\nset size to (40) %\ngo [backward v] (100) layers\nhide\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo [backward v] (100) layers\ngo to x: (198) y: (-6)\n\nwhen I receive [realistic boi v]\nshow\n\nwhen I receive [back to derp v]\nswitch costume to (costume2 v)\nrepeat (10)\n    change y by (10)\nend\nstop [this script v]\n\nwhen flag clicked\nforever\n    if <<([costume # v] of [sprite4 v]) = [14]> or <([costume # v] of [sprite4 v]) = [15]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite8\n\nwhen flag clicked\ngo to x: (134) y: (131)\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [realistic boi v]\nshow\nforever\n    if <touching (sprite5 v)?> then\n        if <(costume [number v]) = [1]> then\n            switch costume to (costume2 v)\n            broadcast (back to derp v) and wait\n        end\n    end\nend\n\nbroadcast (back to derp v)\n\nwhen flag clicked\nforever\n    if <<([costume # v] of [sprite4 v]) = [14]> or <([costume # v] of [sprite4 v]) = [15]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite9\n\n