Grassland || A Platformer (Mobile Friendly)

Instructions: Pt 2 is out now! https://scratch.mit.edu/projects/561670758/\n\nPt 3 is out now!\nhttps://scratch.mit.edu/projects/571437101/\n\nRead Everything Please\n\nPlease  ❤️+⭐️\n\nCan someone please propose this? it would make me very happy :D\nhttps://scratch.mit.edu/studios/28715018/\n\nTurboWarp: https://turbowarp.org/558436985\n\nMobile Controls :) (Harder On Moblie)\n\nPress Space To Skip\n\nPress R To Respawn \n\nArrow Keys Or W-A-S-D To Move\n\nAvoid Spikes Lava Or Water\n\nYou Can Wall Climb!\n\nThis is My First Platformer!\n\nRemember To Love Fav And Follow!\n\nCredit Time!\n\n@ARandomNub Me Of Couse :)\n\n@pizzarush for the intro\n\n@BirbsONLY I Used some of her platforming code but I added some stuff to it!\n\n@Xaf\n\nThat's it!\n\nTags!!!\n#games #fun #all #story #platformer

@Stage\n\n@Player\n\nwhen flag clicked\nbroadcast (\[Intro\] over v)\nhide\n\nwhen I receive [\[intro\] over v]\nforever\n    if <(Level) = [28]> then\n        stop [this script v]\n    else\n        if <<(x position) = [248]> or <(x position) = [249]>> then\n            go to x: (-206) y: (-58)\n            change [level v] by (1)\n        end\n    end\nend\n\nwhen flag clicked\nshow\ngo to x: (-206) y: (-30)\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 [xv v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>>> then\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [10]\n                            else\n                                set [yv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <touching (ground v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (ground v)?> then\n        if <<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            set [yv v] to [16]\n        end\n        change y by (1)\n    end\n    if <<key (down arrow v) pressed?> or <<key (s v) pressed?> or <<mouse down?> and <(y position) > (mouse y)>>>> then\n        switch costume to (down v)\n    else\n        switch costume to (up v)\n    end\n    if <<(y position) = [-190]> or <(y position) = [-180]>> then\n        go to x: (-206) y: (-58)\n    end\n    if <touching (dangers v)?> then\n        go to x: (-206) y: (-58)\n    end\n    if <key (space v) pressed?> then\n        go to x: (-206) y: (-58)\n        change [level v] by (1)\n        wait (0.5) seconds\n    end\n    if <key (r v) pressed?> then\n        go to x: (-206) y: (-58)\n    end\n    if <touching (button v)?> then\n        hide\n        broadcast (Boom! v)\n    end\nend\n\n@Player Trail\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nset [ghost v] effect to (0)\nset size to (100) %\nrepeat (9)\n    change size by (-10)\n    change [ghost v] effect by (10)\nend\nhide\ndelete this clone\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\nwhen I receive [\[intro\] over v]\n\nwhen I receive [boom! v]\ngo to [back v] layer\nstop [other scripts in sprite v]\n\nwhen flag clicked\nforever\n    point in direction ([direction v] of [player v])\n    switch costume to ([costume name v] of [player v])\n    go to x: ([x position v] of [player v]) y: ([y position v] of [player v])\n    create clone of (_myself_ v)\nend\n\n@Dangers\n\nwhen flag clicked\nshow\nforever\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\nwhen I receive [boom! v]\nhide\n\n@Thumbnail\n\nwhen I receive [\[intro\] over v]\nforever\n    go to [front v] layer\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\nend\n\nwhen flag clicked\ngo to [front v] layer\n\n@Blank\n\nwhen flag clicked\nbroadcast (\[Intro\] start v)\nforever\n    go to x: (0) y: (0)\nend\n\nwhen flag clicked\nset volume to (40) %\nswitch backdrop to (sky v)\nforever\n    play sound [Starship v] until done\nend\n\n@Ground\n\nwhen flag clicked\nshow\nforever\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\nwhen I receive [boom! v]\nhide\n\n@Level\n\ndefine Number (costume ) Spacing (spacing)\nbroadcast (Delete Clones v)\nset [digit v] to [1]\ngo to x: (-200) y: (-150)\nrepeat (length of (costume ))\n    switch costume to (letter (Digit) of (costume ))\n    create clone of (_myself_ v)\n    change x by ((spacing) * (size))\n    change [digit v] by (1)\nend\nhide\n\nwhen I receive [delete clones v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    show\nend\n\nwhen I receive [\[intro\] over v]\n\nwhen I receive [boom! v]\ngo to [back v] layer\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\ngo to [front v] layer\nshow\nforever\n    Number (Level) Spacing [0.11]\nend\n\n@Fake Wall\n\nwhen I receive [\[intro\] over v]\n\nwhen flag clicked\nhide\nwait (1) seconds\nwait until <(Level) = [27]>\nshow\nforever\n    if <not <touching (player v)?>> then\n        show\n    else\n        forever\n            hide\n        end\n    end\n    if <(Level) = [28]> then\n        hide\n    end\nend\n\n@Button\n\nwhen flag clicked\nhide\n\nwhen I receive [\[intro\] over v]\n\nwhen I receive [boom! v]\nhide\n\nwhen flag clicked\nwait (3) seconds\nwait until <(Level) = [28]>\nshow\n\n@BOOM!!!!\n\nwhen I receive [boom! v]\nswitch costume to (boom!!!! v)\ngo to [front v] layer\nshow\nwait (3) seconds\nrepeat (2)\n    next costume\n    wait (4) seconds\nend\nbroadcast (The End v)\nswitch costume to (thumbnail v)\n\nwhen flag clicked\nhide\n\n