Aesthetic platformer!

Instructions: Heyo guys! I decided I should make a platformer, so here it is! Arrow keys to move, s to skip, and heart and star for a part 2!\nIf this gets 100 loves and 50 favs, I'll make part 2!\n Sometimes laggy, if so be nice, it's my 1st platformer.

@Stage\n\nwhen I receive [levelup v]\nnext costume\n\nwhen flag clicked\nforever\n    play sound [Nebula v] until done\nend\n\n@Spikes\n\nwhen I receive [levelup v]\nnext costume\n\nwhen flag clicked\ngo to [front v] layer\nshow\nswitch costume to (01 v)\n\nwhen flag clicked\nif <touching (player v)?> then\n    change [level v] by (0)\nend\n\nchange [level v] by (1)\n\n@Player\n\nwhen [s v] key pressed\nbroadcast (levelup v)\ngo to x: (-233) y: (-110)\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (costume2 v)\nset [ghost v] effect to (0)\nshow\ngo to x: (-180) y: (-50)\nset [level v] to [1]\nset [x v] to [0]\nset [y v] to [0]\npoint in direction (90)\nforever\n    change [y v] by (-1)\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        change [x v] by (-0.6)\n        switch costume to (costume1 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 (costume2 v)\n        change [x v] by (0.6)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\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)>>> then\n            set [y v] to [10]\n            if <([abs v] of (x) ) = (x)> then\n                set [x v] to [-5]\n            else\n                set [x v] to [5]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((0) - (y))\n        set [y v] to [1]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (ground v)?>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <(y position) > [180]> then\n        set [y v] to [0]\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <<key (b v) pressed?> or <touching (spikes v)?>> then\n        go to x: (-180) y: (-50)\n        broadcast (dead v)\n    end\n    if <(x position) > [244]> then\n        go to x: (-180) y: (-50)\n        broadcast (levelup v)\n        change [level v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    wait (0.05) seconds\n    next costume\nend\n\n@Ground\n\nwhen I receive [levelup v]\nnext costume\n\nwhen flag clicked\ngo to [front v] layer\nshow\nswitch costume to (01 v)\n\n@Narration\n\nwhen I receive [levelup v]\nnext costume\n\n