Clouds - A platformer 1.5! (UPDATED)

Instructions: Welcome to Clouds - A platformer! You are in a world and your goal is to reach the end! \nUse Arrow keys or Mouse to move the person.\n\nTY FOR 170 loves! (July12) PLEASE LIKE, FAV AND FOLLOW!\nNO ADVERTISING (WILL BE REPORTED)\n\nOther Projects:\nhttps://scratch.mit.edu/projects/714281400/\nhttps://scratch.mit.edu/projects/462506809/\nhttps://scratch.mit.edu/projects/713481139/\n\nAll art and code done by me.\nMusic:\nThe Fat Rat\nTranquility By David Renda\nIf you like it, please propose this here:\nhttps://scratch.mit.edu/studios/4228481/\n

@Stage\n\n@Background\n\nwhen flag clicked\nset drag mode [not draggable v]\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nforever\n    go to x: (0) y: (0)\n    show\n    go to [back v] layer\nend\n\ngo to (random position v)\n\n@Level\n\nwhen flag clicked\nset [level v] to [1]\nset drag mode [not draggable v]\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nset [level v] to [1]\nshow\ngo [backward v] (1) layers\nforever\n    set volume to (50) %\n    play sound [2019-04-26_-_Tranquility_-_www3 v] until done\nend\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\nwhen I receive [start v]\nforever\n    if <(Level) > [14]> then\n        switch costume to (6 v)\n    else\n        switch costume to (Level)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(Level) > [9]> then\n        switch costume to (win v)\n    else\n        switch costume to (Level)\n    end\nend\n\n@Clouds\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (3))\ngo to [front v] layer\nshow\ngo to x: (300) y: (pick random (60) to (180))\npoint in direction (-90)\nset [ghost v] effect to (150)\nrepeat (5)\n    change [ghost v] effect by (-15)\nend\nrepeat until <(x position) < [-220]>\n    move (pick random (2.5) to (2.51)) steps\nend\ndelete this clone\n\nwhen I receive [start v]\nforever\n    wait (1) seconds\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nset drag mode [not draggable v]\nset size to (30) %\nhide\n\nrepeat (5)\n    change [ghost v] effect by (10)\nend\n\nset drag mode [not draggable v]\n\n@Intro\n\nwhen flag clicked\nset drag mode [not draggable v]\ncreate clone of (_myself_ v)\nstart sound [TheFatRat - Windfall-WmGuFSPl3 v]\nswitch costume to (2 v)\nhide\nset size to (200) %\ngo to [front v] layer\nset [bounce v] to [0]\npoint in direction (90)\ngo to x: (240) y: (0)\nwait (0.5) seconds\nshow\nrepeat (50)\n    change x by ((((x position) * (0.1)) - (((x position) * (0.1)) * (2))) + (0.1))\n    turn right (((((x position) * (0.1)) - (((x position) * (0.1)) * (2))) + (0.1)) * (1.68)) degrees\nend\nwait (0.5) seconds\nrepeat (2)\n    set [bounce v] to [7]\n    repeat (10)\n        change size by (Bounce)\n        change [bounce v] by (-1.5)\n        turn right (Bounce) degrees\n    end\n    set [bounce v] to [5]\n    repeat (10)\n        change size by (Bounce)\n        change [bounce v] by (-1.5)\n        turn left (Bounce) degrees\n    end\nend\nrepeat (10)\n    change size by (Bounce)\n    change [bounce v] by (-1.5)\n    turn left (Bounce) degrees\nend\nhide\n\nwait (1) seconds\n\nwhen I start as a clone\nset size to (250) %\npoint in direction (90)\nshow\nswitch costume to (56345681_60x2 v)\ngo to [back v] layer\nwait (5) seconds\nbroadcast (start v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Player\n\ndefine Physics\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(x position) < (mouse x)>>> then\n    switch costume to (costume1 v)\n    change [xmovement v] by (1.5)\nelse\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        switch costume to (costume2 v)\n        change [xmovement v] by (-1.5)\n    end\nend\nset [xmovement v] to ((Xmovement) * ((0.78) - (Friction)))\nchange x by (Xmovement)\nchange [yv v] by (-1.2)\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change x by ((Xmovement) * (-1))\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> then\n        set [yv v] to [15]\n        if <(Xmovement) > [0]> then\n            set [xmovement v] to [-7]\n        else\n            set [xmovement v] to [7]\n        end\n    else\n        set [xmovement v] to [0]\n    end\nend\nchange y by (Yv)\nif <touching (level v)?> then\n    change y by ((Yv) - ((Yv) * (2)))\n    set [yv v] to [0]\nend\nchange y by (-1)\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> and <touching (level v)?>> then\n    set [yv v] to [12]\nend\nif <(x position) > [239]> then\n    broadcast (next level v)\nend\nif <(y position) < [-179]> then\n    go to x: (-198) y: (-45)\nend\nif <touching (bounce pads v)?> then\n    set [yv v] to [26]\nend\nif <touching (spikes v)?> then\n    go to x: (-198) y: (-45)\nend\n\nwhen I receive [next level v]\nset [yv v] to [0]\ngo to x: (-198) y: (-45)\n\npoint in direction (-90)\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\npoint in direction (90)\nshow\ngo to [front v] layer\nset [yv v] to [0]\ngo to x: (-198) y: (-45)\nset size to (15) %\nforever\n    Physics\nend\n\nwhen flag clicked\nhide\n\n@Spikes\n\nwhen I receive [start v]\nforever\n    if <(Level) > [9]> then\n        switch costume to (win v)\n    else\n        switch costume to (Level)\n    end\nend\n\nwhen I receive [start v]\nset [level v] to [1]\nshow\ngo [backward v] (1) layers\n\nwhen flag clicked\nset drag mode [not draggable v]\ngo to x: (0) y: (0)\nhide\nforever\n    go to x: (0) y: (0)\nend\n\n@Bounce Pads\n\nwhen I receive [start v]\nforever\n    if <(Level) > [9]> then\n        switch costume to (win v)\n    else\n        switch costume to (Level)\n    end\nend\n\nwhen I receive [start v]\nset [level v] to [1]\nshow\ngo [backward v] (1) layers\n\nwhen flag clicked\nset drag mode [not draggable v]\ngo to x: (0) y: (0)\nhide\n\n@Text\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\nforever\n    if <(Level) > [9]> then\n        switch costume to (win v)\n    else\n        switch costume to (Level)\n    end\nend\n\nwhen flag clicked\nhide\n\n@Skip\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (159) y: (151)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((120) - (size)) / (3))\n        set [ghost v] effect to (20)\n        if <mouse down?> then\n            broadcast (next level v)\n            wait (1) seconds\n        end\n    else\n        change size by (((100) - (size)) / (3))\n        set [ghost v] effect to (0)\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go to x: (0) y: (0)\n    show\n    set [ghost v] effect to (100)\nend\n\nhide variable [☁ best time v]\nhide variable [time v]\nhide variable [mobile? v]\n\nturn left (15) degrees\n\n@Player2\n\nwhen flag clicked\nshow\nswitch costume to (front v)\ngo to x: (-200) y: (0)\nset [x v] to [0]\nset [y v] to [0]\nset [level v] to [1]\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (.9)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x v] by (-.9)\n    end\n    set [x v] to ((x) * (.9))\n    change x by (x)\n    if <touching (level v)?> then\n        change y by (1)\n        if <touching (level v)?> then\n            change y by (1)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change y by (1)\n                        if <touching (level v)?> then\n                            change y by (-5)\n                            change x by ((x) * (-1))\n                            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> then\n                                if <(x) > [0]> then\n                                    set [x v] to [-5]\n                                else\n                                    set [x v] to [5]\n                                end\n                                set [y v] to [12]\n                            else\n                                set [x v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-1)\n    change y by (y)\n    if <touching (level v)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <touching (level v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> then\n            change [y v] by (12)\n        end\n    end\n    change y by (1)\n    if <<(x position) < [-240]> and <(level) = [1]>> then\n        set x to (-240)\n    end\n    if <<touching (saw v)?> or <touching (lava v)?>> then\n        go to x: (-200) y: (0)\n        set [x v] to [0]\n        set [y v] to [0]\n    end\n    if <<touching (saw v)?> or <touching (lava v)?>> then\n        play sound [whoop v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <<<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> or <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>>> or <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>>> then\n        switch costume to (front v)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (right v)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        switch costume to (left v)\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> then\n        switch costume to (up v)\n    end\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n        switch costume to (up right v)\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n        switch costume to (up left v)\n    end\nend\n\nwhen flag clicked\ngo [backward v] (1) layers\nforever\n    if <(x position) > [240]> then\n        go to x: (-240) y: (y position)\n        change [level v] by (1)\n    end\n    if <<(x position) < [-240]> and <not <(level) = [1]>>> then\n        go to x: (240) y: (y position)\n        change [level v] by (-1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (water v)?> then\n        change [y v] by (-0.3)\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> then\n            change [y v] by (2)\n        end\n        set [y v] to ((y) * (.9))\n    end\nend\n\n@Sprite1\n\n