Fly Cat Fly! || A platformer

Instructions: >>>Instructions<<<\n-Arrow keys, WASD or touchy screen to move\n-Avoid spikes and lava\n-Find golden wings!\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n1000 LIKES LETS GOOOO\n\nLol i still gant get how my old platformer got so popular after i reshared it

@Stage\n\n@Level\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nswitch costume to (level 1 v)\n\n@Player\n\nwhen flag clicked\nforever\n    if <[-150] > (y position)> then\n        broadcast (Death v)\n    end\nend\n\ndefine Vertical movement\nchange y by (Y Speed)\nVertical Colition\nGravity\n\ndefine Vertical Colition\nif <touching (level v)?> then\n    if <[0] > (Y Speed)> then\n        repeat until <not <touching (level v)?>>\n            change y by (1)\n        end\n    end\n    set [above the platform? v] to [Yes]\n    if <(Y Speed) > [0]> then\n        repeat until <not <touching (level v)?>>\n            change y by (-1)\n        end\n    end\n    set [y speed v] to [0]\nend\n\ndefine Gravity\nchange [y speed v] by (-1)\n\nwhen flag clicked\npoint in direction (90)\nhide\nset [ghost v] effect to (100)\n\ndefine Horizontal Movement\nchange x by (X Speed)\nHorizontal Collision\nFriction\n\ndefine Friction\nset [x speed v] to ((X Speed) * (0.8))\n\ndefine Horizontal Collision\nif <touching (level v)?> then\n    repeat (3)\n        change y by (1)\n        if <not <touching (level v)?>> then\n            stop [this script v]\n        end\n    end\n    change y by (-3)\n    if <[0] > (X Speed)> then\n        repeat until <not <touching (level v)?>>\n            change x by (1)\n        end\n    end\n    if <(X Speed) > [0]> then\n        repeat until <not <touching (level v)?>>\n            change x by (-1)\n        end\n    end\n    set [x speed v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <<<key (up arrow v) pressed?> or <<<key (space v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>>> and <(Above the platform?) = [Yes]>> then\n        change [y speed v] by (13)\n        set [above the platform? v] to [No]\n    end\n    if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (90)\n        change [x speed v] by (2)\n    end\n    if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        point in direction (-90)\n        change [x speed v] by (-2)\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-196) y: (10)\n\nwhen I receive [death v]\ngo to x: (-196) y: (10)\n\nwhen flag clicked\n\nwhen I receive [play v]\n\nwhen flag clicked\nset [levels v] to [1]\n\nwhen flag clicked\nset x to (-196)\nset y to (10)\nshow\nrepeat (4)\n    change [ghost v] effect by (-25)\nend\nforever\n    Horizontal Movement\n    Vertical movement\nend\n\nwhen flag clicked\nforever\n    if <not <(LEVELS) = [11]>> then\n        if <(x position) > [235]> then\n            broadcast (Next Level v)\n            change [levels v] by (1)\n            set [x speed v] to [0]\n            set [y speed v] to [0]\n        end\n    end\nend\n\nwhen flag clicked\nstart sound [An Oasis Of Peace v]\n\n@Spike\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I start as a clone\nshow\nforever\n    if <touching (player v)?> then\n        broadcast (Death v)\n    end\nend\n\ndefine Create Spike with X: (x) Y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [finish intro v]\nCreate Spike with X: [-105] Y: [-76]\nCreate Spike with X: [84] Y: [-76]\n\nwhen I receive [next level v]\nif <(LEVELS) = [4]> then\n    Create Spike with X: [-125] Y: [-97]\n    Create Spike with X: [-86] Y: [-97]\n    Create Spike with X: [40] Y: [-97]\n    Create Spike with X: [80] Y: [-97]\nend\nif <(LEVELS) = [5]> then\n    Create Spike with X: [150] Y: [-76]\nend\nif <(LEVELS) = [6]> then\n    Create Spike with X: [-63] Y: [-136]\n    Create Spike with X: [63] Y: [-136]\nend\nif <(LEVELS) = [9]> then\n    Create Spike with X: [-54] Y: [-20]\nend\n\nwhen I receive [next level v]\ndelete this clone\n\n@Lava\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I start as a clone\nshow\nforever\n    change [move v] by (5)\n    change y by ([sin v] of (Move) )\nend\n\ndefine Create Lava with X: (x) Y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [next level v]\nif <(LEVELS) = [3]> then\n    Create Lava with X: [70] Y: [-236]\nend\nif <(LEVELS) = [5]> then\n    Create Lava with X: [0] Y: [-236]\nend\nif <(LEVELS) = [7]> then\nend\nif <(LEVELS) = [8]> then\nend\n\nwhen I receive [next level v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <touching (player v)?> then\n        broadcast (Death v)\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    go to (player v)\nend\n\n@Wings\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nforever\n    if <(LEVELS) = [10]> then\n        show\n    end\n    if <touching (player v)?> then\n        forever\n            go to (player v)\n        end\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n