Notebook || a platformer (Part 1)

Instructions: If it’s lagging, try https://turbowarp.org/490653250\nAfter hours of work, I present you my first platformer ~ Notebook ! \nAll levels are POSSIBLE.\nPlease do not say any hate or bad comments there or else I will report you.\n-------------------------------------------------------------------------\nI N S T R U C T I O N S :\n-Arrow keys or tap to move (mobile-friendly)\n-Don't touch everything that has block your way !!! Like spikes, ink...\n-Press the green flag TWICE or use full screen\n\n3000 VIEWS <33

@Stage\n\nwhen I receive [new level v]\nnext backdrop\n\nwhen I receive [1 v]\nswitch backdrop to (xy-grid-30px2 v)\n\nwhen flag clicked\nswitch backdrop to (xy-grid-30px thumbnail v)\n\n@Platforms\n\nwhen flag clicked\nhide\nswitch costume to (costume2 v)\ngo to x: (0) y: (0)\n\nwhen I receive [new level v]\nnext costume\n\nwhen flag clicked\nset [level v] to [0]\nset [level v] to [0]\n\nwhen I receive [1 v]\nshow\n\n@Player\n\nwhen flag clicked\nforever\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (1 v)\n    else\n        switch costume to (4 v)\n    end\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (2 v)\n    else\n        switch costume to (4 v)\n    end\n    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (3 v)\n    else\n        switch costume to (4 v)\n    end\nend\n\nwhen flag clicked\nshow\ngo to x: (-207) y: (-183)\nforever\n    switch costume to (11319744_48x3 v)\n    go to [front v] layer\n    set [x v] to [0]\n    set [y v] to [0]\n    forever\n        change [y v] by (-1)\n        set [x v] to ((x) * (0.9))\n        if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            change [x v] by (1)\n        end\n        if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n            change [x v] by (-1)\n        end\n        change x by (x)\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (-4)\n            change x by ((x) * (-1))\n            if <<key (up arrow 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 [-4]\n                else\n                    set [x v] to [4]\n                end\n            else\n                set [x v] to [0]\n            end\n        end\n        change y by (y)\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> 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 <<mouse down?> and <(mouse y) > (y position)>>> and <<touching (platforms v)?> or <touching (moving platform v)?>>> then\n            change [y v] by (14)\n        end\n        change y by (1)\n        Special Detections\n    end\nend\n\ndefine Special Detections\nset volume to (80) %\nif <<touching (spikes v)?> or <touching color (#ff0000)?>> then\n    go to x: (-210) y: (-79)\n    play sound [Crunch v] until done\nend\nif <touching (eraser v)?> then\n    change [y v] by (15)\n    start sound [Drum Boing v]\nend\n\nwhen I receive [new level v]\ngo to x: (-207) y: (-39)\nchange [level v] by (1)\n\nwhen flag clicked\ngo to x: (-199) y: (-89)\nchange [☁ data v] by (1)\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (2 v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-8)\nend\ndelete this clone\n\nwhen backdrop switches to [xy-grid-30px8 v]\ngo to x: (-199) y: (-89)\n\n@Spikes\n\nwhen I receive [outro v]\nhide\n\nwhen I receive [new level v]\nnext costume\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\n\n@end\n\nwhen flag clicked\nshow\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    if <touching (player v)?> then\n        broadcast (new level v)\n        change [level v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <([costume # v] of [platforms v]) = [12]> then\n        hide\n    else\n        show\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nhide\nbroadcast (1 v)\n\n@red ink\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [xy-grid-30px4 v]\nforever\n    glide (1) secs to x: (27) y: (-126)\n    wait (0.8) seconds\n    glide (1) secs to x: (27) y: (-134)\n    wait (0.8) seconds\nend\n\nwhen backdrop switches to [xy-grid-30px5 v]\nhide\n\nwhen backdrop switches to [xy-grid-30px4 v]\nshow\n\n@eraser\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [xy-grid-30px9 v]\nshow\ngo to x: (-97) y: (-92)\n\nwhen backdrop switches to [xy-grid-30px10 v]\nhide\n\nwhen backdrop switches to [xy-grid-30px6 v]\nhide\n\n