Sunny || Mobile Friendly Platformer ||-2

Instructions: Official platformer for my 1 year on scratch!\nPart 1!\nUse arrow keys or w a s d\nAlso there is wall climbing so you can climb on walls for some stages/ levels.\nI will make a part 2 if we get\n100 favorites\n100 likes \n2000+ views \n--------------------------------------------------------------------\nTags\n#games #all #platformer #art #New #Trending #Future\n--------------------------------------------------------------------Also sorry for not uploading in 7 months!

@Stage\n\nwhen flag clicked\nwait (35) seconds\nforever\n    play sound [House of Memories v] until done\nend\n\nwhen flag clicked\nforever\n    switch backdrop to (backdrop27 v)\n    wait (1) seconds\n    switch backdrop to (backdrop2 v)\n    wait (1) seconds\n    switch backdrop to (backdrop3 v)\n    wait (1) seconds\n    switch backdrop to (backdrop4 v)\n    wait (1) seconds\n    switch backdrop to (backdrop5 v)\n    wait (1) seconds\n    switch backdrop to (backdrop6 v)\n    wait (1) seconds\n    switch backdrop to (backdrop7 v)\n    wait (1) seconds\nend\n\n@player\n\nwhen flag clicked\nset [edge v] to [1]\ndelete (all) of [bugs v]\nbroadcast (platform v)\n\ndefine walls\nif <not <(t) = [s]>> then\n    if <<(t) < [4]> and <touching (level v)?>> then\n        change [t v] by (1)\n        change y by (1)\n        walls\n    else\n        if <(t) = [4]> then\n            change y by (-4)\n            change x by ((-1) * (x_vel))\n            set [x_vel v] to [0]\n        end\n        set [t v] to [s]\n    end\nend\n\nwhen flag clicked\ngo to x: (-210) y: (0)\nset [x_vel v] to [0]\nset [y_vel v] to [0]\n\nwhen I receive [you won v]\nstop [other scripts in sprite v]\n\nwhen I receive [next v]\ngo to x: (-210) y: (0)\nset [x_vel v] to [0]\nset [y_vel v] to [0]\nbroadcast (platform v)\n\nset [y_vel v] to [8]\n\nwhen I receive [platform v]\nforever\n    switch costume to (costume1 v)\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n        switch costume to (costume2 v)\n        change [x_vel v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        switch costume to (costume3 v)\n        change [x_vel v] by (-1)\n    end\n    set [x_vel v] to ((0.9) * (x_vel))\n    change x by (x_vel)\n    set [t v] to [0]\n    walls\n    if <not <(t) = [s]>> then\n        add (t) to [bugs v]\n    end\n    change [y_vel v] by (-0.8)\n    change y by (y_vel)\n    if <touching (level v)?> then\n        change y by ((-1) * (y_vel))\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            set [y_vel v] to [10]\n        else\n            set [y_vel v] to [0]\n        end\n    end\n    broadcast (message1 v)\n    check\nend\n\nswitch costume to (costume4 v)\n\nwhen I receive [restart v]\nstop [other scripts in sprite v]\ngo to x: (-210) y: (0)\nset [x_vel v] to [0]\nset [y_vel v] to [0]\nbroadcast (platform v)\n\ndefine check\nif <<touching (squares and spikes v)?> or <<touching (_edge_ v)?> and <(edge) = [1]>>> then\n    broadcast (restart v)\n    wait (0.1) seconds\nend\n\ncheck\n\nset size to (130) %\nset size to (100) %\n\n\n\n@code\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (1 v)\nset size to (80) %\nforever\n    wait (5) seconds\n    repeat (3)\n        next costume\n    end\n    repeat (3)\n        switch costume to ((costume [number v]) - (1))\n    end\nend\n\nwhen I receive [message1 v]\ngo to (player v)\n\n@level\n\nwhen I receive [next v]\nnext costume\nif <(costume [number v]) = [1]> then\n    broadcast (you won v)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@out\n\nwhen flag clicked\nhide\nforever\n    wait (0.5) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\ngo to x: (pick random (-240) to (240)) y: (177)\nset [v v] to [0]\nrepeat until <<touching (level v)?> or <touching (_edge_ v)?>>\n    change [v v] by (pick random (-0.1) to (0.1))\n    change x by (v)\n    change y by (-1)\nend\nif <touching (level v)?> then\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\nend\ndelete this clone\n\nwhen I receive [layers v]\ngo to [front v] layer\n\n@start\n\nwhen flag clicked\ngo to x: (0) y: (0)\nbroadcast (layers v) and wait\nshow\ngo to [front v] layer\nwait (0) seconds\nchange x by (1)\nwait (0) seconds\nswitch costume to (costume40 v)\nwait (.5) seconds\nswitch costume to (costume2 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume3 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume4 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume6 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume7 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume8 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume9 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume10 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume11 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume12 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume13 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume14 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume15 v)\nstop all sounds\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume16 v)\nwait (.5) seconds\nswitch costume to (costume17 v)\nwait (.5) seconds\nswitch costume to (costume18 v)\nwait (.5) seconds\nswitch costume to (costume19 v)\nwait (3) seconds\nswitch costume to (costume20 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume21 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume22 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch backdrop to (backdrop23 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch backdrop to (backdrop24 v)\nswitch costume to (costume24 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch backdrop to (backdrop25 v)\nswitch backdrop to (backdrop25 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume26 v)\nswitch costume to (costume26 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume27 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume28 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume29 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume30 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume31 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume32 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume33 v)\nplay sound [recording2 v] until done\nwait (.5) seconds\nswitch costume to (costume34 v)\nwait (.5) seconds\nswitch costume to (costume35 v)\nstart sound [Chill v]\nwait (4) seconds\nswitch costume to (costume36 v)\nwait (4) seconds\nstop all sounds\nstart sound [Chill v]\nswitch costume to (costume38 v)\nwait (2) seconds\nstop all sounds\nswitch costume to (costume39 v)\nplay sound [recording1 v] until done\nwait (1) seconds\nswitch costume to (costume37 v)\nhide\nplay sound [recording2 v] until done\n\n@coin\n\nwhen flag clicked\ngo to x: (206) y: (-48)\nset [ghost v] effect to (100)\nforever\n    if <touching (player v)?> then\n        start sound [Coin v]\n        switch costume to (2 v)\n        set [edge v] to [0]\n        wait (.5) seconds\n        broadcast (slide v)\n        wait (1) seconds\n        set [edge v] to [1]\n    else\n        switch costume to (1 v)\n    end\nend\n\nwhen I receive [layers v]\ngo [backward v] (100) layers\n\n@c\n\nwhen I receive [slide v]\nshow\ngo to [front v] layer\ngo to x: (0) y: (-1000)\nrepeat (15)\n    change y by (((0) - (y position)) / (5))\nend\nbroadcast (next v)\nset y to (1)\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [you won v]\ngo to x: (0) y: (0)\nstop [other scripts in sprite v]\n\n@you won gg\n\nwhen flag clicked\nhide\n\nwhen I receive [you won v]\nwait (0.5) seconds\nbroadcast (layers v)\nshow\ngo to [front v] layer\nset size to (0) %\npoint in direction (0)\ngo to x: (0) y: (-1000)\nrepeat (30)\n    change size by (((100) - (size)) / (5))\n    turn right (((90) - (direction)) / (5)) degrees\n    change y by (((0) - (y position)) / (5))\nend\nwait (.001) seconds\nstop [all v]\n\nwhen flag clicked\n\nwhen I receive [you won v]\nbroadcast (☁ Timer)\n\nwhen flag clicked\nreset timer\nset [☁ timer v] to [0]\nchange [☁ timer v] by (0)\nhide variable [☁ timer v]\nwait (34) seconds\nset [☁ timer v] to [0]\nshow variable [☁ timer v]\nrepeat until <(timer) = [0]>\n    wait (.1) seconds\n    change [☁ timer v] by (.1)\nend\n\n@Squares and spikes\n\nwhen flag clicked\nswitch costume to (costume5 v)\nset [l v] to [1]\ngo to x: (0) y: (0)\nhide\nif <(item (l) of [levels v]) = [1]> then\n    next costume\n    show\nend\n\nwhen I receive [next v]\nchange [l v] by (1)\nhide\nif <(item (l) of [levels v]) = [1]> then\n    next costume\n    show\nend\n\n@Squares and spikes2\n\nwhen flag clicked\ngo to x: (190) y: (180)\nhide\nforever\n    wait (pick random (3) to (10)) seconds\n    show\n    glide (.5) secs to x: (190) y: (150)\n    wait (2) seconds\n    glide (.2) secs to x: (190) y: (180)\n    hide\nend\n\n@Squares and spikes3\n\nwhen flag clicked\nhide\ngo to x: (200) y: (-147)\nwait (2) seconds\n\nshow\nclear graphic effects\ngo to [front v] layer\nset [brightness v] effect to (60)\n\n