Neon Skies - Aesthetic Platformer                  #games #all
@Stage\n\nwhen flag clicked\nforever\n    play sound [Alone For Now v] until done\nend\n\nwhen I receive [next level v]\nnext backdrop\nif <(backdrop [number v]) = [11]> then\n    broadcast (The End v)\nend\n\nwhen flag clicked\nswitch backdrop to ([sin v] of (90) )\nset [brightness v] effect to (-10)\n\nwhen I receive [the end v]\nset [☁ latest_time v] to (timer)\nstop [other scripts in sprite v]\nstop all sounds\nplay sound [Goal Cheer v] until done\nforever\n    play sound [SpongeBob Production Music Hawaiian Happiness v] until done\nend\n\nwhen flag clicked\nshow variable [my time v]\nreset timer\nforever\n    set [my time v] to ([floor v] of (timer) )\nend\n\n@Player\n\nwhen I start as a clone\nswitch costume to (player trail v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-5)\nend\ndelete this clone\n\nwhen I receive [next level v]\nset [deaths on hard level v] to [0]\ndelete this clone\n\nwhen I receive [skip level v]\nRespawn [-210] [0]\nbroadcast (Next Level v) and wait\n\nwhen flag clicked\nforever\n    if <(death sound) = [1]> then\n        play sound [F Elec Bass v] until done\n        set [death sound v] to [0]\n    end\nend\n\nwhen flag clicked\npoint in direction (90)\nset size to (125) %\nRespawn [-210] [0]\nset [paused v] to [0]\nset [level v] to [1]\nset [deaths on hard level v] to [0]\nset [can control v] to [0]\nforever\n    if <(paused) = [0]> then\n        switch costume to (hitbox v)\n        change [y speed v] by (-1)\n        Change Y (y speed)\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <(yLengthWithinBounds) > ((slingMaxLength) / (2))>> and <(touching ground) = [1]>> then\n            set [y speed v] to [15]\n            start sound [Low Whoosh v]\n        end\n        if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <(xLengthWithinBounds) > ((slingMaxLength) / (2))>> and <(can control) = [0]>> then\n            change [x speed v] by (2)\n            if <not <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <(xLengthWithinBounds) < (() - ((slingMaxLength) / (2)))>>> then\n                point in direction (90)\n            end\n        end\n        if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <(xLengthWithinBounds) < (() - ((slingMaxLength) / (2)))>> and <(can control) = [0]>> then\n            change [x speed v] by (-2)\n            if <not <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <(xLengthWithinBounds) > ((slingMaxLength) / (2))>>> then\n                point in direction (-90)\n            end\n        end\n        if <(x speed) > [9]> then\n            set [x speed v] to [9]\n        else\n            if <(x speed) < [-9]> then\n                set [x speed v] to [-9]\n            end\n        end\n        Change X (x speed)\n        if <(x speed) > [0]> then\n            change [x speed v] by (-1)\n        else\n            if <(x speed) < [0]> then\n                change [x speed v] by (1)\n            end\n        end\n        switch costume to (player v)\n    end\n    create clone of (_myself_ v)\n    if <<(x position) > [239]> and <not <(level) = [16]>>> then\n        Respawn [-210] [0]\n        change [level v] by (1)\n        broadcast (Level v)\n        broadcast (Next Level v) and wait\n    end\n    if <<touching (rising lava v)?> or <touching (spikessprite2 v)?>> then\n        change [deaths on hard level v] by (1)\n        set [death sound v] to [1]\n        Respawn [-210] [0]\n    end\n    if <(can control) < [0]> then\n        change [can control v] by (1)\n    end\nend\n\ndefine Respawn (x) (y)\nset x to (x)\nset y to (y)\n\ndefine Change X (x speed)\nset [slope v] to [0]\nif <(touching ground) = [1]> then\n    set [max slope v] to [15]\nelse\n    set [max slope v] to [1]\nend\nchange x by (x speed)\nif <touching (platforms v)?> then\n    repeat until <<not <touching (platforms v)?>> or <(slope) = (max slope)>>\n        change y by (1)\n        change [slope v] by (1)\n    end\nend\nif <(slope) = (max slope)> then\n    change y by (() - (slope))\n    set [x speed v] to [0]\n    if <(x speed) > [0]> then\n        repeat until <not <touching (platforms v)?>>\n            change x by (-1)\n        end\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <(yLengthWithinBounds) > ((slingMaxLength) / (2))>> then\n            set [y speed v] to [15]\n            set [x speed v] to [-11]\n            set [can control v] to [-6]\n        end\n    else\n        repeat until <not <touching (platforms v)?>>\n            change x by (1)\n        end\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <(yLengthWithinBounds) > ((slingMaxLength) / (2))>> then\n            set [y speed v] to [15]\n            set [x speed v] to [11]\n            set [can control v] to [-6]\n        end\n    end\nend\nif <(touching ground) = [1]> then\n    change y by (-15)\n    if <touching (platforms v)?> then\n        repeat until <not <touching (platforms v)?>>\n            change y by (1)\n        end\n    else\n        change y by (15)\n    end\nend\n\ndefine Change Y (y speed)\nchange y by (y speed)\nset [touching ground v] to [0]\nif <touching (platforms v)?> then\n    set [y speed v] to [0]\n    if <<(y speed) > [0]> or <(y speed) = [0]>> then\n        repeat until <not <touching (platforms v)?>>\n            change y by (-1)\n        end\n    else\n        set [touching ground v] to [1]\n        repeat until <not <touching (platforms v)?>>\n            change y by (1)\n        end\n    end\nend\n\n@Me and my shadows\n\nwhen flag clicked\nforever\n    Find Position\nend\n\ndefine Find Position\nset size to ((125) - (distance to [player v])) %\nswitch costume to (hitbox v)\nshow\ngo to x: ([x position v] of [player v]) y: ([y position v] of [player v])\nrepeat until <<touching (platforms v)?> or <touching (rising lava v)?>>\n    change y by (-1)\nend\nset [color v] effect to (0)\nif <touching (rising lava v)?> then\n    change [color v] effect by (140)\nend\nchange y by (3)\nswitch costume to (shadow v)\n\n@Platforms\n\nwhen I receive [next level v]\nswitch costume to (level)\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\n\n@Fake\n\nwhen I receive [next level v]\nswitch costume to (level)\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\n\n@Fake 2\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\n\nwhen I receive [next level v]\nswitch costume to (level)\n\n@Rising Lava\n\nwhen flag clicked\nswitch costume to (lava2 v)\n\nwhen flag clicked\ngo to x: (0) y: (-15)\nforever\n    repeat (20)\n        change y by (.5)\n        wait (.01) seconds\n    end\n    repeat (20)\n        change y by (-.5)\n        wait (.01) seconds\n    end\nend\n\n@SpikesSprite2\n\nwhen flag clicked\nset [brightness v] effect to (-5)\nswitch costume to ([sin v] of (90) )\n\nwhen I receive [next level v]\nnext costume\n\n@Signs\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    repeat (20)\n        change y by (-.5)\n        wait (.01) seconds\n    end\n    repeat (20)\n        change y by (.5)\n        wait (.01) seconds\n    end\nend\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\nset [ghost v] to [15]\nforever\n    if <<touching (player v)?> and <(ghost) < [50]>> then\n        change [ghost v] by (5)\n        if <(ghost) > [50]> then\n            set [ghost v] to [50]\n        end\n    else\n        if <(ghost) > [15]> then\n            change [ghost v] by (-5)\n        end\n    end\n    set [ghost v] effect to (ghost)\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nset [inc v] to [1]\nwait (.1) seconds\nforever\n    if <<touching (player v)?> and <(inc) = [1]>> then\n        if <(costume [number v]) = [10]> then\n            start sound [Crowd Gasp v]\n        else\n            start sound [Coin v]\n        end\n        set [inc v] to [0]\n        wait until <(inc) = [1]>\n    end\nend\n\nwhen I receive [level v]\nset [inc v] to [1]\n\n@Other thing\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\nset [ghost v] effect to (0)\nset [ghost 2 v] to [0]\nforever\n    if <<touching (player v)?> and <(ghost 2) < [80]>> then\n        change [ghost 2 v] by (10)\n    else\n        if <(ghost 2) > [0]> then\n            change [ghost 2 v] by (-10)\n        end\n    end\n    set [ghost v] effect to (ghost 2)\nend\n\nwhen I receive [next level v]\nnext costume\n\nforever\n    repeat (20)\n        change y by (-.5)\n        wait (.01) seconds\n    end\n    repeat (20)\n        change y by (.5)\n        wait (.01) seconds\n    end\nend\n\n@particles\n\nwhen flag clicked\nset [clones v] to [0]\ngo to x: (240) y: (-180)\nhide\nforever\n    point in direction (-90)\n    forever\n        go to [back v] layer\n        create clone of (_myself_ v)\n        wait (.02) seconds\n    end\nend\n\nwhen I start as a clone\nchange [clones v] by (1)\nset size to (pick random (40) to (80)) %\npoint in direction (pick random (-60) to (-90))\ngo to [back v] layer\nset [ghost v] effect to (pick random (50) to (75))\ngo to x: (238) y: (pick random (0) to (-200))\nshow\nforever\n    repeat until <(x position) < [-236]>\n        move (5) steps\n    end\n    change [clones v] by (-1)\n    delete this clone\nend\n\n@Platform Designer\n\n@End\n\nwhen flag clicked\nhide\ngo to [front v] layer\nwait (1) seconds\nwait until <(level) = [11]>\nwait (6) seconds\ngo to x: (0) y: (526)\nshow\nglide (5) secs to x: (0) y: (0)\nset [paused v] to [1]\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Le7els\n\nwhen I receive [level v]\n\nclear graphic effects\nnext costume\nshow\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\npoint in direction (90)\nswitch costume to ([sin v] of (90) )\ngo to [front v] layer\nshow\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@Sprite1\n\nwhen flag clicked\nforever\n    if <(deaths on hard level) > [4]> then\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nif <([x position v] of [player v]) < [210]> then\n    set [deaths on hard level v] to [0]\n    hide\n    change [level v] by (1)\n    broadcast (Skip Level v)\nend\n\n@Sprite2\n\n@Analog Stick by AzureLightning\n\nwhen flag clicked\ngo to [front v] layer\nset [analog to x input v] to [0]\nswitch costume to (stick v)\nset [ghost v] effect to (50)\ncreate clone of (_myself_ v)\nset [analog is clone v] to [0]\nset pen size to (5)\npen up\nerase all\nset [slingxorigin v] to [100]\nset [slingyorigin v] to [0]\nset [slingmaxlength v] to [30]\nset [drawmode v] to [1]\nforever\n    set [xlengthwithinbounds v] to [0]\n    set [ylengthwithinbounds v] to [0]\n    if <mouse down?> then\n        if <(holding) = [0]> then\n            set [slingxorigin v] to (mouse x)\n            set [slingyorigin v] to (mouse y)\n            set [candraw v] to [1]\n        end\n        set [holding v] to [1]\n        if <(canDraw) = [1]> then\n            calculateLength\n        end\n    else\n        set [holding v] to [0]\n        set [candraw v] to [0]\n    end\n    set [analog to x input v] to ((xLengthWithinBounds) / (slingMaxLength))\n    if <(canDraw) = [1]> then\n        go to x: ((xLengthWithinBounds) + (slingXOrigin)) y: ((yLengthWithinBounds) + (slingYOrigin))\n        show\n    else\n        hide\n    end\nend\n\ndefine drawSling\nif <(drawMode) = [1]> then\n    erase all\n    go to x: (slingXOrigin) y: (slingYOrigin)\n    set pen color to (#424242)\n    pen down\n    go to x: ((xLengthWithinBounds) + (slingXOrigin)) y: ((yLengthWithinBounds) + (slingYOrigin))\nelse\n    go to x: ((xLengthWithinBounds) + (slingXOrigin)) y: ((yLengthWithinBounds) + (slingYOrigin))\n    set pen color to (#cacaca)\n    pen down\nend\n\ndefine calculateLength\nset [xlength v] to ((mouse x) - (slingXOrigin))\nset [ylength v] to ((mouse y) - (slingYOrigin))\nset [lengthofhypotenuse v] to ([sqrt v] of (((xLength) * (xLength)) + ((yLength) * (yLength))) )\nif <(lengthOfHypotenuse) > (slingMaxLength)> then\n    set [hypotenuseratio v] to ((slingMaxLength) / (lengthOfHypotenuse))\n    set [xlengthwithinbounds v] to ((xLength) * (hypotenuseRatio))\n    set [ylengthwithinbounds v] to ((yLength) * (hypotenuseRatio))\nelse\n    set [xlengthwithinbounds v] to (xLength)\n    set [ylengthwithinbounds v] to (yLength)\nend\n\nwhen I start as a clone\nswitch costume to (origin v)\nset [analog is clone v] to [1]\nforever\n    if <(canDraw) = [1]> then\n        go to x: (slingXOrigin) y: (slingYOrigin)\n        show\n    else\n        hide\n    end\nend\n\ngo to [front v] layer\n\nforever\nend\n\n
❤️ Collect all the emojis that you can in this aesthetic platformer! Did you get EVERY emoji? Comment below!\n\n▶️ Don't forget to ❤️,⭐  and follow for more games!\n★★★ Computer Controls ★★★\n<> WASD or Arrow Keys to move!\n\nI spent 137 hours on this game!!! That's 13 hours per level!