platformer！in the sky！
@Stage\n\nchange [color v] effect by (5)\n\nchange [brightness v] effect by (-5)\n\nwhen I receive [next level v]\nif <(LEVEL) = [7]> then\n    set [color v] effect to (100)\nend\nif <(LEVEL) = [8]> then\n    clear graphic effects\n    switch backdrop to (night sky v)\nend\nif <(LEVEL) = [14]> then\n    switch backdrop to (terreria back v)\nend\n\nwhen flag clicked\nclear graphic effects\nswitch backdrop to (terreria back v)\n\n@Player\n\ndefine Touch Ground\nif <(Yv) > [0]> then\n    repeat until <not <touching (levels v)?>>\n        change y by (-1)\n        set [yv v] to [0]\n    end\nelse\n    repeat until <not <touching (levels v)?>>\n        change y by (1)\n        set [yv v] to [0]\n        set [in air v] to [0]\n        set [jump v] to [0]\n    end\n    set [wall jumping? v] to [0]\nend\nif <<<(in air) > [0]> and <(in air) < [10]>> and <(Yv) < [0]>> then\n    set [jump v] to [1]\nend\nControls - Up And Down\n\ndefine Controls - Up And Down\nchange y by (-1)\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(mouse y) > [0]> and <mouse down?>>> and <touching (levels v)?>> then\n    broadcast (up v)\n    set [yv v] to [15]\n    set [jump v] to [1]\nend\nchange y by (1)\n\ndefine Reset\ngo to x: (-180) y: (0)\nset size to (175) %\nset [xv v] to [0]\nset [yv v] to [0]\nset [jump v] to [0]\nset [in air v] to [0]\nset [yv v] to [0]\n\ndefine Touch Wall\nrepeat (10)\n    if <touching (levels v)?> then\n        change y by (1)\n    end\nend\nif <touching (levels v)?> then\n    change x by ((round (xv)) * (-1))\n    change y by (-10)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(mouse y) > [0]> and <mouse down?>>> then\n        if <(xv) > [0]> then\n            set [wall jumping? v] to [1]\n            set [xv v] to [-13]\n            set [key x v] to [1]\n        else\n            set [wall jumping? v] to [1]\n            set [xv v] to [13]\n            set [key x v] to [-1]\n        end\n        set [yv v] to [10]\n    else\n        set [wall jumping? v] to [0]\n        set [xv v] to [0]\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nReset\nforever\n    Detect hitbox\n    Controls - Left And Right\n    broadcast (Game On v)\n    Touch Wall\n    change [yv v] by (-1)\n    change [in air v] by (1)\n    change y by (Yv)\n    Touch Ground\n    Detect\n    Set Costume\nend\n\nwhen I receive [time v]\nsay (join [Your score is: ] (join (Timer) [ seconds.])) for (3) seconds\nforever\n    if <key (space v) pressed?> then\n        say (join [Your score is: ] (join (Timer) [ seconds.])) for (3) seconds\n        wait until <not <key (space v) pressed?>>\n    end\nend\n\ndefine Detect\nif <touching (danger v)?> then\n    Death Sound\n    Reset\n    broadcast (reset slimes v)\n    broadcast (reset v)\nend\nif <touching (zombies v)?> then\n    Death Sound\n    Reset\n    broadcast (reset v)\nend\nif <touching (slimes v)?> then\n    Death Sound\n    Reset\n    broadcast (reset slimes v)\nend\nif <(x position) > [240]> then\n    start sound [Coin v]\n    Reset\n    broadcast (Next Level v)\n    change [level v] by (1)\nend\n\ndefine Set Costume\nset rotation style [left-right v]\nif <(wall jumping?) > [0]> then\n    switch costume to (img_1397 v)\n    stop [this script v]\nend\nif <(jump) > [0]> then\n    if <(Yv) > [-6]> then\n        switch costume to (img_1397 v)\n    else\n        switch costume to ((1) + ([floor v] of ((frame) mod (14)) ))\n    end\n    stop [this script v]\nend\nif <(frame) > [0]> then\n    switch costume to ((1) + ([floor v] of ((frame) mod (14)) ))\nelse\n    switch costume to (stand v)\nend\n\ndefine Death Sound\nstart sound [Crunch v]\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        Death Sound\n        Reset\n        wait until <not <key (r v) pressed?>>\n    end\nend\n\ndefine Controls - Left And Right\nif <(wall jumping?) > [0]> then\n    change x by ((xv) * (0.5))\n    point in direction (((KEY X) * (90)) * (-1))\n    change [frame v] by (0.5)\n    stop [this script v]\nend\nset [key x v] to (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(mouse x) > [0]> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<[0] > (mouse x)> and <mouse down?>>>)\nif <(KEY X) = [0]> then\n    if <([abs v] of (xv) ) < [1]> then\n        set [frame v] to [0]\n        set [xv v] to [0]\n    else\n        change [frame v] by (0.5)\n    end\nelse\n    change [xv v] by ((KEY X) * (5))\n    point in direction ((KEY X) * (90))\n    change [frame v] by (0.5)\nend\nset [xv v] to ((xv) * (0.5))\nchange x by (round (xv))\n\nset rotation style [don't rotate v]\n\ndefine Detect hitbox\nswitch costume to (hitbox v)\nset rotation style [don't rotate v]\n\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(mouse x) > [0]> and <mouse down?>>> then\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<[0] > (mouse x)> and <mouse down?>>> then\n    change [xv v] by (-3)\n    point in direction (-90)\n    change [frame v] by (0.5)\nend\n\nswitch costume to (stand v)\n\ngo to [front v] layer\n\nturn right (15) degrees\n\nset [death sound v] to [0]\n\n\n\nDetect hitbox\n\npoint in direction (90)\n\nchange [xv v] by (3)\n\nchange [xv v] by (1)\n\nchange [yv v] by (-1)\nchange [in air v] by (1)\nchange y by (Yv)\n\nwhen I receive [reset v]\nReset\n\n@Levels\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to [front v] layer\nshow\n\n@Danger\n\nwhen flag clicked\nswitch costume to (costume2 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Zombies\n\nwhen flag clicked\nset [enemy clone? v] to [0]\nhide\n\ndefine Touch ground <something above>\nchange [enemy in air v] by (1)\nif <touching (levels v)?> then\n    repeat until <not <touching (levels v)?>>\n        if <something above> then\n            change y by (-1)\n        else\n            change y by (1)\n            set [enemy in air v] to [0]\n        end\n        set [enemy yv v] to [0]\n    end\nend\n\ndefine Wall detection, movement, friction (value)\nchange [enemy xv v] by (value)\nset [enemy xv v] to ((enemy xv) * (0.88))\nchange x by (enemy xv)\nif <touching (levels v)?> then\n    change x by ((0) - (enemy xv))\n    if <(enemy in air) < [4]> then\n        set [enemy yv v] to [8]\n        set [enemy xv v] to [0]\n    end\nend\n\nwhen I receive [up v]\nwait (pick random (0.6) to (1)) seconds\nif <(enemy in air) < [4]> then\n    set [enemy yv v] to [10]\nend\n\nwhen I receive [reset v]\nif <(enemy clone?) = [1]> then\n    show\n    go to x: (enemy spawn x) y: (enemy spawn y)\n    set [enemy frame v] to [0]\n    set [enemy in air v] to [0]\n    set [enemy xv v] to [0]\n    set [enemy yv v] to [0]\nend\n\nwhen I receive [\(un\)pause v]\n\nwhen I receive [die you stoopid enemy!!!! v]\nhide\nwait (2) seconds\nbroadcast (reset v)\n\nwhen I receive [reset v]\nif <(enemy clone?) = [1]> then\n    broadcast (Enemy costumes v)\n    forever\n        hitbox\n        change [enemy yv v] by (-1)\n        change y by (enemy yv)\n        Touch ground <(enemy yv) > [0]>\n        if <([x position v] of [player v]) > (x position)> then\n            Wall detection, movement, friction [0.5]\n            point in direction (-90)\n        else\n            Wall detection, movement, friction [-0.5]\n            point in direction (90)\n        end\n        set costume\n    end\nend\n\nwhen I receive [enemy costumes v]\nforever\n\nwhen I start as a clone\nset [enemy spawn x v] to (x position)\nset [enemy spawn y v] to (y position)\nset [enemy clone? v] to [1]\nbroadcast (reset v)\n\nClone at [50] [0]\n\nwhen I receive [next level v]\nif <(enemy clone?) = [0]> then\n    if <(LEVEL) = [9]> then\n        broadcast (reboot v)\n        Clone at [100] [0]\n    else\n        if <(LEVEL) = [10]> then\n            broadcast (reboot v)\n            Clone at [121] [115]\n        else\n            if <(LEVEL) = [11]> then\n                broadcast (reboot v)\n                Clone at [0] [0]\n                Clone at [200] [0]\n            else\n                if <(LEVEL) = [12]> then\n                    broadcast (reboot v)\n                    Clone at [100] [0]\n                    Clone at [75] [0]\n                    Clone at [50] [0]\n                else\n                    if <(LEVEL) = [13]> then\n                        broadcast (reboot v)\n                        Clone at [144] [-46]\n                    end\n                end\n            end\n        end\n    end\nelse\n    delete this clone\nend\n\n\n\n\n\ndefine Clone at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [reboot v]\ndelete this clone\n\ndefine hitbox\nset rotation style [don't rotate v]\nswitch costume to (costume3 v)\n\ndefine set costume\nset rotation style [left-right v]\nchange [enemy frame v] by (0.2)\nswitch costume to ((1) + ([floor v] of ((enemy frame) mod (4)) ))\n\n@Text\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [brightness v] effect to (100)\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\n@Music\n\nwhen flag clicked\n\nwhen flag clicked\nbroadcast (Song v)\nset volume to (100) %\nwait until <(LEVEL) > [7]>\nrepeat (10)\n    change volume by (-10)\nend\nstop [other scripts in sprite v]\nstop all sounds\nbroadcast (Song v)\nrepeat (10)\n    change volume by (10)\nend\nwait until <(LEVEL) > [13]>\nrepeat (10)\n    change volume by (-10)\nend\nstop [other scripts in sprite v]\nstop all sounds\nbroadcast (Song v)\nrepeat (10)\n    change volume by (10)\nend\n\nwhen I receive [song v]\nforever\n    if <(LEVEL) > [7]> then\n        if <(LEVEL) < [14]> then\n            play sound [07 - Overworld Night v] until done\n        else\n            play sound [04 - Overworld Day v] until done\n        end\n    else\n        play sound [04 - Overworld Day v] until done\n    end\nend\n\n@Slimes\n\nwhen flag clicked\nset [enemy clone? v] to [0]\nhide\n\ndefine Touch ground <something above>\nchange [enemy in air v] by (1)\nset [enemy touching ground? v] to [0]\nif <touching (levels v)?> then\n    repeat until <not <touching (levels v)?>>\n        if <something above> then\n            change y by (-1)\n        else\n            change y by (1)\n            set [enemy in air v] to [0]\n            change [enemy frame v] by (0.2)\n            set [enemy touching ground? v] to [1]\n        end\n        set [enemy yv v] to [0]\n    end\nend\n\ndefine Wall detection, movement, friction (value)\nchange [enemy frame v] by (0.2)\nchange [enemy xv v] by (value)\nset [enemy xv v] to ((enemy xv) * (0.88))\nchange x by (enemy xv)\nif <touching (levels v)?> then\n    change x by ((0) - (enemy xv))\n    if <(enemy in air) < [4]> then\n        set [enemy yv v] to [10]\n        set [enemy xv v] to [0]\n    end\nend\n\nwhen I receive [reset slimes v]\nif <(enemy clone?) = [1]> then\n    show\n    go to x: (enemy spawn x) y: (enemy spawn y)\n    switch costume to (slime-green-2 v)\n    set [enemy touching ground? v] to [1]\n    set [enemy frame v] to [0]\n    set [enemy in air v] to [0]\n    set [enemy xv v] to [0]\n    set [enemy yv v] to [0]\nend\n\nwhen I receive [\(un\)pause v]\n\nwhen I receive [die you stoopid enemy!!!! v]\nhide\nwait (2) seconds\nbroadcast (reset v)\n\nwhen I receive [reset slimes v]\nif <(enemy clone?) = [1]> then\n    broadcast (Enemy costumes v)\n    forever\n        if <([x position v] of [player v]) > (x position)> then\n            wait until <(enemy touching ground?) = [1]>\n            point in direction (90)\n            wait (pick random (1) to (2)) seconds\n            set [enemy yv v] to (pick random (10) to (15))\n            wait until <(enemy touching ground?) = [0]>\n            set [enemy xv v] to [0]\n            repeat until <(enemy touching ground?) = [1]>\n                hitbox\n                Wall detection, movement, friction [1]\n                set costume\n            end\n        else\n            wait until <(enemy touching ground?) = [1]>\n            point in direction (-90)\n            wait (pick random (1) to (2)) seconds\n            set [enemy yv v] to (pick random (10) to (15))\n            wait until <(enemy touching ground?) = [0]>\n            set [enemy xv v] to [0]\n            repeat until <(enemy touching ground?) = [1]>\n                hitbox\n                Wall detection, movement, friction [-1]\n                set costume\n            end\n        end\n    end\nend\n\nwhen I receive [enemy costumes v]\nforever\n\nwhen I start as a clone\nset [enemy spawn x v] to (x position)\nset [enemy spawn y v] to (y position)\nset [enemy clone? v] to [1]\nbroadcast (reset slimes v)\n\nwhen I receive [next level v]\nif <(enemy clone?) = [0]> then\n    if <(LEVEL) = [3]> then\n        broadcast (reboot v)\n        Clone at [100] [0]\n    else\n        if <(LEVEL) = [4]> then\n            broadcast (reboot v)\n            Clone at [19] [-48]\n            Clone at [129] [-9]\n        else\n            if <(LEVEL) = [5]> then\n                broadcast (reboot v)\n                Clone at [-21] [-25]\n            else\n                if <(LEVEL) = [6]> then\n                    broadcast (reboot v)\n                    Clone at [174] [111]\n                else\n                    if <(LEVEL) = [7]> then\n                        broadcast (reboot v)\n                        Clone at [41] [91]\n                    else\n                        if <(LEVEL) = [14]> then\n                            broadcast (reboot v)\n                            Clone at [80] [0]\n                            Clone at [90] [0]\n                            Clone at [100] [0]\n                        end\n                    end\n                end\n            end\n        end\n    end\nelse\n    delete this clone\nend\n\n\n\n\n\ndefine Clone at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [reboot v]\ndelete this clone\n\ndefine hitbox\nset rotation style [don't rotate v]\nswitch costume to (costume3 v)\n\ndefine set costume\nset rotation style [left-right v]\nswitch costume to ((1) + ([floor v] of ((enemy frame) mod (2)) ))\n\nwhen I start as a clone\nforever\n    hitbox\n    change [enemy yv v] by (-1)\n    change y by (enemy yv)\n    Touch ground <(enemy yv) > [0]>\n    set costume\nend\n\nset costume\n\nset costume\n\nset costume\n\n@Skip \n\nwhen flag clicked\nshow\n\nwhen this sprite clicked\nif <(LEVEL) < [15]> then\n    change [level v] by (1)\n    broadcast (Next Level v)\n    broadcast (reboot v)\n    broadcast (reset v)\n    broadcast (reset slimes v)\n    wait until <not <mouse down?>>\nend\n\n@end icons\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\ngo to [back v] layer\nif <(LEVEL) > [14]> then\n    show\nend\n\n
\nArrow keys or WASD to move.\nCan you win with no deaths?\nFollow if you enjoyed!\nYou can advertise after you follow me!\nLike and Fav please!\nI might add some more levels