Factory A Platformer

Instructions: Next Up: UPSIDE DOWN! (maybe not)\n\nWelcome to Sideways. Use the arrow keys or WASD to move the character. Press up arrow or W to use an orb. I might add mobile support. \nTry to get to the top of the screen. \n----------------------------------------------------------------------\nIf you enjoyed, please leave a heart and a star by pressing the icons! Also only about 5% of people actually read the instructions so might as well! :D\n----------------------------------------------------------------------\nSo I had this idea when I watched a video where all the levels in a Mario game were rotated 90°. I also really wanted to make a platformer using "orbs" to scale up a near vertical mountain, with some parts overlooking below.\nThen I forgot about them for a couple months, and when I remembered, I made this.\nPetal effect inspired a lot by Hanzhe\n\nWant me to add anything? Leave a comment!\nFeedback is appreciated! :D\n\nMy best time (Try to beat it!): 30.62\nWorld record (Try to beat it harder!): 28.367

@Stage\n\nwhen flag clicked\nswitch backdrop to (main menu/blank v)\n\nwhen I receive [start game v]\nswitch backdrop to (level 1 v)\n\nwhen I receive [next level v]\nnext backdrop\n\nwhen flag clicked\nforever\n    play sound [Music v] until done\nend\n\n@Player\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\ngo to x: (-193) y: (-129)\nshow\nhide variable [x v]\nhide variable [y v]\nset [x v] to [0]\nset [y v] to [0]\nforever\n    if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n        switch costume to (player crouch v)\n    else\n        switch costume to (player v)\n    end\n    change [y v] by (-1)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [x v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [x v] by (1)\n    end\n    set [x v] to ((X) * (0.9))\n    change x by (X)\n    if <touching color (#000000)?> then\n        change y by (1)\n    end\n    if <touching color (#000000)?> then\n        change y by (1)\n    end\n    if <touching color (#000000)?> then\n        change y by (1)\n    end\n    if <touching color (#000000)?> then\n        change y by (1)\n    end\n    if <touching color (#000000)?> then\n        change y by (-4)\n        change x by ((X) * (-1))\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [y v] to [17]\n            if <(X) > [0]> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (Y)\n    if <touching color (#000000)?> then\n        change y by ((Y) - ((Y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching color (#000000)?>> then\n        set [y v] to [15]\n    end\n    change y by (1)\nend\n\nwhen flag clicked\nset volume to (90) %\nforever\n    if <touching (finish v)?> then\n        start sound [Coin v]\n        broadcast (Next Level v)\n        go to x: (-193) y: (-130)\n    end\n    if <<<touching color (#ff0000)?> or <(y position) < [-178]>> or <key (r v) pressed?>> then\n        start sound [Crunch v]\n        go to x: (-193) y: (-130)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(backdrop [number v]) = [1]> then\n        forever\n            go to x: (-191) y: (-33)\n            say (join (join (join [How about you, ] (username)) [?]) [What is your story?]) for (4) seconds\n            hide\n            switch backdrop to (the end v)\n            stop [all v]\n        end\n    end\nend\n\nwhen I start as a clone\nshow\nrepeat (11)\n    change size by (-5)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\nwhen I receive [start game v]\nforever\n    create clone of (_myself_ v)\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\nset size to (0) %\ngo to x: (56) y: (12)\nwait (4) seconds\nshow\nrepeat (100)\n    change size by (1)\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Start Game v)\nhide\n\n@Player (Opening)\n\nwhen flag clicked\nswitch costume to (blue v)\nhide\ngo to x: (-249) y: (-31)\nshow\nglide (1) secs to x: (-175) y: (-31)\n\nwhen I receive [start game v]\nhide\n\nwhen this sprite clicked\nnext costume\n\nwhen flag clicked\nhide variable [costume v]\nforever\n    if <(costume [number v]) = [1]> then\n        set [costume v] to [1]\n    end\n    if <(costume [number v]) = [2]> then\n        set [costume v] to [1]\n    end\n    if <(costume [number v]) = [3]> then\n        set [costume v] to [3]\n    end\n    if <(costume [number v]) = [4]> then\n        set [costume v] to [4]\n    end\nend\n\n@Spike 1 (Opening)\n\nwhen flag clicked\nhide\ngo to x: (-77) y: (-201)\nwait (1) seconds\nshow\nglide (1) secs to x: (-77) y: (-48)\n\nwhen I receive [start game v]\nhide\n\n@Ground (Opening)\n\nwhen flag clicked\ngo to x: (36) y: (28)\ngo to [front v] layer\nshow\n\nwhen I receive [start game v]\nhide\n\n@Spike 2 (Opening)\n\nwhen I receive [start game v]\nhide\n\nwhen flag clicked\nhide\ngo to x: (251) y: (-30)\nwait (2) seconds\nshow\nglide (1) secs to x: (194) y: (-30)\n\n@Title (Opening)\n\nwhen I receive [start game v]\nhide\n\nwhen flag clicked\nhide\ngo to x: (0) y: (186)\nwait (3) seconds\nshow\nglide (1) secs to x: (0) y: (131)\n\n@Finish\n\nwhen flag clicked\nswitch costume to (level 1 v)\nhide\n\nwhen I receive [start game v]\ngo to [back v] layer\nshow\n\nwhen I receive [next level v]\nnext costume\n\n