(WIP) Platformer Creator || A Platformer Creator

Instructions: Finally! After 530+ blocks placed and 4+ hours put into it, I am finally finished!\n\nChoose what block to place in the menu starting from the top left.\nPlace down the block wherever you want.\nThis is work in progress.\nI would really appreciate it if you leave a love or something, this took a lot of effort to make.

@Stage\n\nwhen flag clicked\nforever\n    play sound [Vexento - Sunrise \(1\) v] until done\nend\n\n@Player\n\ndefine reset\nclear graphic effects\ngo to x: (-200) y: (-50)\npoint in direction (90)\nset [dead? v] to [0]\nset [x v v] to [0]\nset [y v v] to [0]\nset size to (100) %\nshow\n\nwhen I receive [next level v]\nset [change? v] to [1]\nreset\nset [change? v] to [0]\n\nwhen I receive [alright bros let's go v]\n\nwhen I receive [alright bros let's go v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [alright bros let's go v]\nset [change? v] to [0]\nforever\n    if <<(x position) = [240]> and <(dead?) = [0]>> then\n        broadcast (Win v)\n    end\nend\n\nchange [level v] by (1)\n\nwhen I receive [alright bros let's go v]\nforever\n    if <(y position) = [-179]> then\n        Spin off screen\n    end\nend\n\nwhen [r v] key pressed\nif <(dead?) = [0]> then\n    reset\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [alright bros let's go v]\nshow\n\ndefine Spin off screen\nset [dead? v] to [1]\nchange [player death v] by (1)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nreset\n\nwhen I receive [alright bros let's go v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (center2 v)\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nbroadcast (alright bros let's go v)\n\nwhen flag clicked\nswitch costume to (center v)\n\nwhen I receive [respawn v]\n\nwhen flag clicked\n\nforever\n    if <<touching (danger v)?> or <touching (gears v)?>> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\n\nforever\n    if <touching (enemy v)?> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (100) %\nreset\nforever\n    go to [front v] layer\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(dead?) = [0]>> then\n        change [x v 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)>>> and <(dead?) = [0]>> then\n        change [x v v] by (-.9)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\n    if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n        change y by (2)\n        if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n            change y by (2)\n            if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n                change y by (2)\n                if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n                    change y by (2)\n                    if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n                        change y by (2)\n                        if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n                            change x by ((X v) * (-2))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [13]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-0.8)\n    change y by (Y v)\n    if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <<touching (grass block v)?> or <touching (dirt block v)?>> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            set [y v v] to [12]\n        end\n    end\n    change y by (1)\n    if <<<<<touching (lava block v)?> or <touching (danger v)?>> or <touching (killer wheel2 v)?>> or <touching (lightning v)?>> and <(dead?) = [0]>> then\n        Spin off screen\n    end\n    if <touching (trampoline block v)?> then\n        broadcast (trampoline bounce v)\n        set [y v v] to [17]\n    end\nend\n\nwhen flag clicked\nshow\n\nforever\n    erase all\n    pen down\n    set pen color to (#8ccdff)\nend\n\nwhen flag clicked\nsay (join (x position) (y position)) for () seconds\n\nwhen flag clicked\nforever\n    set tempo to (mouse y)\nend\n\nwhen flag clicked\nset voice to (tenor v)::tts\nspeak []::tts\n\nwhen flag clicked\nset [color v] effect to (translate [0] to ((mouse x) v)::translate)\nset [color v] effect to ()\n\n@Grass Block\n\nwhen flag clicked\nshow\nforever\n    repeat until <mouse down?>\n        go to x: (mouse x) y: (mouse y)\n    end\nend\n\nwhen this sprite clicked\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\ngo to x: (mouse x) y: (mouse y)\nforever\n    show\nend\n\nwhen I receive [grass v]\nshow\n\nwhen I receive [dirt v]\nhide\n\nwhen I receive [lava v]\nhide\n\nwhen I receive [trampoline v]\nhide\n\nwhen I receive [fake v]\nhide\n\nwhen I receive [play v]\nhide\n\n@Grass Label\n\nwhen flag clicked\ngo to x: (-195) y: (132)\nswitch costume to (2 v)\n\nwhen this sprite clicked\nswitch costume to (2 v)\nbroadcast (Grass v)\n\nwhen I receive [dirt v]\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [lava v]\nswitch costume to (1 v)\n\nwhen I receive [lava v]\nswitch costume to (1 v)\n\nwhen I receive [trampoline v]\nswitch costume to (1 v)\n\nwhen I receive [fake v]\nswitch costume to (1 v)\n\n@Dirt Block\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\ncreate clone of (_myself_ v)\n\nwhen I receive [grass v]\nhide\n\nwhen I receive [dirt v]\nshow\n\nwhen I start as a clone\ngo to x: (mouse x) y: (mouse y)\nforever\n    show\nend\n\nwhen flag clicked\nforever\n    repeat until <mouse down?>\n        go to x: (mouse x) y: (mouse y)\n    end\nend\n\nwhen I receive [lava v]\nhide\n\nwhen I receive [trampoline v]\nhide\n\nwhen I receive [fake v]\nhide\n\nwhen I receive [play v]\nhide\n\n@Dirt Label\n\nwhen flag clicked\ngo to x: (-195) y: (83)\nswitch costume to (1 v)\n\nwhen this sprite clicked\nswitch costume to (2 v)\nbroadcast (Dirt v)\n\nwhen I receive [dirt v]\nswitch costume to (2 v)\n\nwhen I receive [grass v]\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [lava v]\nswitch costume to (1 v)\n\nwhen I receive [trampoline v]\nswitch costume to (1 v)\n\nwhen I receive [fake v]\nswitch costume to (1 v)\n\n@Lava Block\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\ncreate clone of (_myself_ v)\n\nwhen I receive [grass v]\nhide\n\nwhen I receive [lava v]\nshow\n\nwhen I start as a clone\ngo to x: (mouse x) y: (mouse y)\nforever\n    show\nend\n\nwhen flag clicked\nforever\n    repeat until <mouse down?>\n        go to x: (mouse x) y: (mouse y)\n    end\nend\n\nwhen I receive [trampoline v]\nhide\n\nwhen I receive [fake v]\nhide\n\nwhen I receive [play v]\nhide\n\n@Lava Label\n\nwhen flag clicked\ngo to x: (-195) y: (35)\nswitch costume to (1 v)\n\nwhen this sprite clicked\nswitch costume to (2 v)\nbroadcast (Lava v)\n\nwhen I receive [lava v]\nswitch costume to (2 v)\n\nwhen I receive [grass v]\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [dirt v]\nswitch costume to (1 v)\n\nwhen I receive [trampoline v]\nswitch costume to (1 v)\n\nwhen I receive [fake v]\nswitch costume to (1 v)\n\n@Trampoline Block\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\ncreate clone of (_myself_ v)\n\nwhen I receive [grass v]\nhide\n\nwhen I receive [trampoline v]\nshow\n\nwhen I start as a clone\ngo to x: (mouse x) y: (mouse y)\nforever\n    show\nend\n\nwhen flag clicked\nforever\n    repeat until <mouse down?>\n        go to x: (mouse x) y: (mouse y)\n    end\nend\n\nwhen I receive [dirt v]\nshow\n\nwhen I receive [lava v]\nhide\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [trampoline bounce v]\nif <touching (player v)?> then\n    repeat (11)\n        next costume\n    end\nend\n\nwhen I receive [fake v]\nhide\n\nwhen I receive [play v]\nhide\n\n@Trampoline Label\n\nwhen flag clicked\ngo to x: (-195) y: (-13)\nswitch costume to (1 v)\n\nwhen this sprite clicked\nswitch costume to (2 v)\nbroadcast (Trampoline v)\n\nwhen I receive [trampoline v]\nswitch costume to (2 v)\n\nwhen I receive [grass v]\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [dirt v]\nswitch costume to (1 v)\n\nwhen I receive [lava v]\nswitch costume to (1 v)\n\nwhen I receive [fake v]\nswitch costume to (1 v)\n\n@Fake Block\n\nwhen flag clicked\nshow\nforever\n    repeat until <mouse down?>\n        go to x: (mouse x) y: (mouse y)\n    end\nend\n\nwhen this sprite clicked\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\ngo to x: (mouse x) y: (mouse y)\nforever\n    show\nend\n\nwhen I receive [grass v]\nhide\n\nwhen I receive [dirt v]\nhide\n\nwhen I receive [lava v]\nhide\n\nwhen I receive [trampoline v]\nhide\n\nwhen I receive [fake v]\nshow\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (10)\nend\n\nwhen I receive [play v]\nhide\n\n@Fake Label\n\nwhen flag clicked\ngo to x: (-195) y: (-57)\nswitch costume to (1 v)\n\nwhen this sprite clicked\nswitch costume to (2 v)\nbroadcast (Fake v)\n\nwhen I receive [dirt v]\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [lava v]\nswitch costume to (1 v)\n\nwhen I receive [lava v]\nswitch costume to (1 v)\n\nwhen I receive [trampoline v]\nswitch costume to (1 v)\n\nwhen I receive [fake v]\nswitch costume to (2 v)\n\nwhen I receive [grass v]\nswitch costume to (1 v)\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nwait (0.2) seconds\nrepeat (10)\n    change [blur v] effect by (10)\n    change [saturation v] effect by (-10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nrepeat until <(x position) > [239]>\n    change x by (30)\nend\nhide\n\nwhen flag clicked\n\nwait (0.2) seconds\nforever\n    change x by (30)\nend\n\n@Save Button\n\nwhen flag clicked\n\nswitch costume to (costume1 v)\ngo to x: (36) y: (28)\nask [Do you have a save code?] and wait\nif <<(answer) = [Yes]> or <(answer) = [yes]>> then\n    ask [Type the save code in.] and wait\n    if <(answer) = (save code)> then\n        broadcast (save v)\n    else\n        if <<<(answer) = [I don't remember.]> or <(answer) = [I don't remember]>> or <<(answer) = [I do not remember]> or <(answer) = [I do not remember.]>>> then\n            say [Save code: NQS3O] for (pick random (2.5) to (4)) seconds\n        end\n    end\nend\n\nwhen this sprite clicked\nnext costume\nwait (pick random (0.08) to (0.25)) seconds\nnext costume\n\nwhen this sprite clicked\nsay (join [Save Code: ] (save code)) for (4) seconds\n\nwhen flag clicked\nset [save code v] to <<[] = [NQS3O]> or <[] = [UAN8S]>>\n\n@Play Button\n\nwhen this sprite clicked\nnext costume\nwait (pick random (0.08) to (0.25)) seconds\nnext costume\n\nwhen this sprite clicked\nbroadcast (Play v)\n\nwhen flag clicked\nif <<(mouse x) = (x position)> and <(mouse y) = (y position)>> then\n    set [brightness v] effect to (10)\nend\n\n