[Entry] Nature - A Platformer v1.11  #All #Games #Platformers #Stories #Music #Art #Scratch

Instructions: Part 2 is out: https://scratch.mit.edu/projects/639425281/\n\n400 follows please. :) And 100 remixes.\n\nThis is my entry to a contest hosted by @-CodingAnimations-\n\nPlease remix, I want to see great remakes.\n\nWith this game I tried to make a more advanced platformer than my previous ones.\n\n\n--------------------- Story ---------------------\nThe World used to be a peaceful place until the 3 gems were lost. Can you find them and restore order to the world, while dodging spikes and hot slime along the way.\n\nCan you find the easter egg? Clue: it's inside.\n\n------------------------Instructions----------------------\n\n[Up] to jump\n[Left and Right] to move back and forth\nClick on the skins button to change your skin.\n[R] to reset level

@Stage\n\nwhen flag clicked\nset volume to (100) %\nset [music v] to (pick random (1) to (5))\nbroadcast (Play Music v)\n\nwhen I receive [play music v]\nstop all sounds\nforever\n    play sound (music) until done\nend\n\nwhen I receive [de v]\n\n@Blank\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\ndefine the easter egg is somewhere\n\nwhen flag clicked\nif <(username) = [-CodingAnimations-]> then\n    set [☁ codinganimations saw? v] to [1]\nend\n\n@Player\n\nwhen flag clicked\nset [costume v] to [1]\nset [down? v] to [0]\nset [scene # v] to [1]\nGame On\n\ndefine Fast\nrepeat (6)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\nend\n\ndefine ycoll\nrepeat until <not <touching (ground v)?>>\n    if <(SY) > [0]> then\n        change y by (-1)\n    else\n        change y by (1)\n    end\nend\n\ndefine xcoll\nrepeat until <not <touching (ground v)?>>\n    if <(SX) > [0]> then\n        change x by (-1)\n    else\n        change x by (1)\n    end\nend\n\nwhen I receive [game loop v]\ndelete all of [collected v]\nswitch costume to (costume)\npoint in direction (90)\nset rotation style [left-right v]\nforever\n    go to [front v] layer\n    go [backward v] (2) layers\n    if <(y position) < [-180]> then\n        broadcast (Die v)\n    end\n    change [sy v] by (-1)\n    if <<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>> then\n        point in direction (90)\n        change [sx v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n        point in direction (-90)\n        change [sx v] by (-1)\n    end\n    set [sx v] to ((SX) * (0.9))\n    change x by (SX)\n    if <touching (ground v)?> then\n        Fast\n        if <touching (ground v)?> then\n            change y by (-6)\n            xcoll\n            if <<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> then\n                set [sy v] to [12]\n                if <([abs v] of (SX) ) = (SX)> then\n                    set [sx v] to [-8]\n                else\n                    set [sx v] to [8]\n                end\n            else\n                set [sx v] to [0]\n            end\n        end\n    end\n    change y by (SY)\n    if <touching (ground v)?> then\n        ycoll\n        if <<<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> and <(SY) < [0]>> then\n            set [sy v] to [14]\n        else\n            set [sy v] to [0]\n        end\n    end\n    Check Touching Hazard <<touching (spikes v)?> or <touching (lava v)?>>\nend\n\nwhen I receive [die v]\nset [dead? v] to [1]\nstart sound [Crunch v]\nhide\nset [last x v] to (x position)\nset [last y v] to (y position)\nGame On\n\nwhen I receive [game loop v]\nforever\n    if <(x position) > [230]> then\n        set [scene # v] to ((Scene #) + (1))\n        broadcast (Chance Scene v)\n        delete all of [collected v]\n    end\nend\n\ndefine Game On\nset [dead? v] to [0]\nshow\nset [sx v] to [0]\nset [sy v] to [0]\ngo to x: (-220) y: (50)\ngo to [front v] layer\nbroadcast (Set Costume v)\nbroadcast (Chance Scene v)\nbroadcast (Game Loop v)\n\ndefine Check Touching Hazard <hazard?>\nif <hazard?> then\n    broadcast (Die v)\n    broadcast (Explode v)\nend\n\nwhen flag clicked\nset [time v] to [0]\nforever\n    wait (0.1) seconds\n    change [time v] by (0.1)\nend\n\nwhen I receive [set costume v]\nswitch costume to (costume)\n\nwhen I receive [get out v]\nbroadcast (Game Loop v)\n\nwhen I receive [choose skin v]\nstop [other scripts in sprite v]\n\nwhen [r v] key pressed\nbroadcast (Chance Scene v)\n\nwhen I receive [chance scene v]\ngo to x: (-220) y: (50)\n\nwhen [r v] key pressed\nset [sx v] to [0]\nset [sy v] to [0]\nbroadcast (Chance Scene v)\n\n@Ground\n\nwhen flag clicked\ngo to [back v] layer\ngo [forward v] (1) layers\n\nwhen I receive [chance scene v]\nI mean Change Scene :)\n\ndefine I mean Change Scene :)\nswitch costume to (Scene #)\n\n@Particles\n\nwhen flag clicked\nhide\n\nwhen I receive [explode v]\nNow!!\n\ndefine Now!!\nrepeat (15)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (costume)\ngo to [front v] layer\ngo to x: (last x) y: (last y)\nshow\nset [ex v] to (pick random (-5) to (5))\nset [ey v] to (pick random (-5) to (8))\nExplode\n\nwhen I start as a clone\nforever\n    if <touching (ground v)?> then\n        set [ex v] to [0]\n        set [ey v] to [0]\n        wait (0.2) seconds\n        delete this clone\n    end\nend\n\ndefine Explode\nrepeat (10)\n    if <not <touching (ground v)?>> then\n        change x by (EX)\n        change [ey v] by (-1)\n        change y by (EY)\n    end\nend\ndelete this clone\n\n@Spikes\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\nwhen I receive [chance scene v]\nswitch costume to (Scene #)\n\n@Trampoline\n\nwhen flag clicked\nforever\n    switch costume to (Scene #)\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        set [sy v] to [20]\n        start sound [Big Boing v]\n    end\nend\n\n@Skin\n\nwhen I receive [game loop v]\nhide\nforever\n    if <(in) = [1]> then\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nswitch costume to (stand v)\nforever\n    point in direction ((([sin v] of ((timer) * (300)) ) * (10)) + (90))\nend\n\nwhen this sprite clicked\nset [costume v] to (costume [number v])\nbroadcast (Set Costume v)\nset [in v] to [0]\nbroadcast (Get Out v)\n\nwhen I receive [next skin v]\nnext costume\n\nwhen I receive [previous skin v]\nswitch costume to ((costume [number v]) - (1))\n\n@Sprite1\n\nwhen I receive [game loop v]\nhide\nforever\n    if <(in) = [1]> then\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Next Skin v)\n\n@Sprite2\n\nwhen I receive [game loop v]\nhide\nforever\n    if <(in) = [1]> then\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Previous Skin v)\n\n@Soon....................\n\n@Lava\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\nwhen I receive [chance scene v]\nswitch costume to (Scene #)\n\nwhen flag clicked\nforever\n    set y to ((([sin v] of ((timer) * (300)) ) * (10)) + (30))\nend\n\n@Trail\n\nwhen flag clicked\nhide\nforever\n    wait (0.02) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (costume)\nshow\ngo to [back v] layer\ngo [forward v] (2) layers\ngo to (player v)\nrepeat (12)\n    change size by (-8)\nend\nchange size by (-4)\ndelete this clone\n\nwhen I receive [chance scene v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <(dead?) = [1]> then\n        delete this clone\n    end\nend\n\nwhen I receive [de v]\ndelete this clone\n\n@Cloud\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (3))\nset x to (300)\nset y to (pick random (40) to (163))\nset [ghost v] effect to (70)\nshow\nrepeat until <(x position) < [-300]>\n    change x by (-1)\nend\ndelete this clone\n\nwhen flag clicked\nhide\ngo to [back v] layer\nwait (3) seconds\nforever\n    create clone of (_myself_ v)\n    wait (pick random (6) to (10)) seconds\nend\n\nwhen I start as a clone\nforever\n    go to [back v] layer\nend\n\n@Button\n\nwhen flag clicked\nshow\nset [in v] to [0]\nforever\n    set size to ((([sin v] of ((timer) * (300)) ) * (4)) + (90)) %\nend\n\nwhen this sprite clicked\ngo to [front v] layer\nif <(in) = [0]> then\n    set [in v] to [1]\n    broadcast (Choose Skin v)\nelse\n    set [in v] to [0]\n    broadcast (Get Out v)\nend\n\nwhen I receive [de v]\nhide\n\n@Grey\n\nwhen flag clicked\nhide\nforever\n    if <(in) = [1]> then\n        show\n        go to [front v] layer\n        go [backward v] (1) layers\n    else\n        hide\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [show v]\nshow\nwait (0.5) seconds\ngo to [front v] layer\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\n\n@Sprite4\n\nwhen flag clicked\nhide\nwait until <(Scene #) = [27]>\nshow\nwait until <touching (player v)?>\nhide\nbroadcast (show v)\n\n@Text\n\nwhen flag clicked\ngo to [front v] layer\nforever\n    switch costume to (Scene #)\nend\n\n@Grass\n\nwhen flag clicked\nforever\n    switch costume to (Scene #)\n    go to [back v] layer\nend\n\n@Sprite5\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n