The Platformer #games #art #music #animations #stories #tutorials #all #slowAnimator
@Stage\n\nwhen flag clicked\nforever\n    if <(Level) < [6]> then\n        switch backdrop to (backdrop1 v)\n        set [music v] to [0]\n    else\n        switch backdrop to (backdrop2 v)\n        set [music v] to [1]\n    end\n    set volume to (All Volume) %\nend\n\nwhen flag clicked\nforever\n    if <(Music) = [1]> then\n        stop all sounds\n        play sound [Vexento - Masked Heroes.mp3 v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Music) = [0]> then\n        stop all sounds\n        wait until <not <(Music) = [0]>>\n    end\nend\n\n@Player\n\nwhen flag clicked\nhide\n\ndefine Physics\nif <(Opened?) = [0]> then\n    if <key (right arrow v) pressed?> then\n        change [xv v] by (1)\n    end\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    repeat (5)\n        if <touching (solid blocks v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (solid blocks v)?> then\n        change x by ((Xv) * (-1))\n        change y by (-5)\n        set [xv v] to [0]\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <touching (solid blocks v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (solid blocks v)?> then\n        if <key (up arrow v) pressed?> then\n            start sound [Jump v]\n            set [yv v] to [10]\n        end\n    end\n    change y by (1)\n    if <(y position) < [-178]> then\n        broadcast (kill v)\n    end\nend\n\nwhen I receive [hide v]\nbroadcast (go to spawn v)\nshow\nset [playing v] to [1]\nforever\n    Animation\n    Physics\n    set volume to (All Volume) %\nend\n\nwhen I receive [go to spawn v]\nset [xv v] to [0]\nset [yv v] to [0]\ngo to x: (item (1) of [player spawn v]) y: (item (2) of [player spawn v])\n\ndefine Animation\nif <(Level) < [6]> then\n    switch costume to (square v)\nelse\n    if <key (right arrow v) pressed?> then\n        switch costume to (player right v)\n    else\n        if <key (left arrow v) pressed?> then\n            switch costume to (player left v)\n        else\n            switch costume to (player front v)\n        end\n    end\nend\n\nwhen I receive [kill v]\nchange [death counter v] by (1)\nbroadcast (go to spawn v)\n\nwhen I receive [show v]\nset [playing v] to [0]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nstart sound [music v]\n\n@Tiles\n\ndefine Render\nbroadcast (show v) and wait\ngo to x: (-232) y: (-172)\ndelete (all) of [player spawn v]\nrepeat (24)\n    repeat (30)\n        if <touching color (#ff9400)?> then\n            add (x position) to [player spawn v]\n            add (y position) to [player spawn v]\n        else\n            if <touching color (#ff0000)?> then\n                set [i v] to [1]\n                create clone of (_myself_ v)\n            else\n                if <touching color (#ff9999)?> then\n                    set [i v] to [2]\n                    create clone of (_myself_ v)\n                else\n                    if <touching color (#00ff55)?> then\n                        set [i v] to [3]\n                        create clone of (_myself_ v)\n                    else\n                        if <touching color (#ffd499)?> then\n                            set [i v] to [4]\n                            create clone of (_myself_ v)\n                        else\n                            set [i v] to [0]\n                            if <(Level) < [6]> then\n                                if <touching color (#000000)?> then\n                                    switch costume to (black tile v)\n                                    create clone of (_myself_ v)\n                                end\n                            else\n                                if <touching color (#000000)?> then\n                                    change y by (9)\n                                    if <touching color (#000000)?> then\n                                        change y by (-9)\n                                        switch costume to (dirt v)\n                                        create clone of (_myself_ v)\n                                    else\n                                        change y by (-9)\n                                        switch costume to (grass v)\n                                        create clone of (_myself_ v)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        switch costume to (render v)\n        change x by (16)\n    end\n    change y by (16)\n    set x to (-232)\nend\nbroadcast (hide v)\n\nwhen I receive [delete old clones v]\ndelete this clone\n\nwhen I start as a clone\nshow\nif <(i) = [0]> then\n    go to [front v] layer\nend\nif <<(i) = [1]> or <(i) = [2]>> then\n    if <(Level) < [6]> then\n        switch costume to (red tile v)\n    else\n        switch costume to (spike v)\n    end\nend\nif <(i) = [2]> then\n    forever\n        repeat (16)\n            change y by (-1)\n        end\n        wait (0.3) seconds\n        start sound [Spike v]\n        repeat (4)\n            change y by (4)\n        end\n    end\nend\nif <(i) = [3]> then\n    if <(Level) < [5]> then\n        switch costume to (green tile v)\n    else\n        forever\n            switch costume to (flag-0 v)\n            wait (0.1) seconds\n            repeat (3)\n                next costume\n                wait (0.1) seconds\n            end\n        end\n    end\nend\nif <(i) = [4]> then\n    if <(Level) < [6]> then\n        switch costume to (blue tile v)\n    else\n        switch costume to (smart spike v)\n    end\n    forever\n        repeat (16)\n            change y by (-1)\n        end\n        wait until <<([x position v] of [player v]) > ((x position) - (8))> and <<([x position v] of [player v]) < ((x position) + (8))> and <([y position v] of [player v]) > ((y position) - (8))>>>\n        start sound [Spike v]\n        repeat (4)\n            change y by (4)\n        end\n    end\nend\n\nwhen I start as a clone\nif <<(i) = [1]> or <<(i) = [2]> or <(i) = [4]>>> then\n    forever\n        if <touching (player v)?> then\n            broadcast (kill v)\n        end\n        set volume to ((All Volume) / (2)) %\n    end\nend\nif <(i) = [3]> then\n    forever\n        if <touching (player v)?> then\n            start sound [PickupAmethist v]\n            change [level v] by (1)\n            broadcast (next level v)\n            stop [this script v]\n        end\n        set volume to (All Volume) %\n    end\nend\n\nwhen I receive [render v]\nRender\n\nwhen I receive [start v]\nset [level v] to [1]\nset [death counter v] to [0]\nbroadcast (render v)\n\nwhen I receive [next level v]\nbroadcast (delete old clones v)\nbroadcast (render v)\n\n@World\n\nwhen I receive [show v]\nswitch costume to (Level)\nshow\n\nwhen I receive [hide v]\nswitch costume to (Level)\nhide\n\n@Solid Blocks\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    switch costume to (Level)\nend\n\n@Stages Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nUsername\nbroadcast (Start v)\n\ndefine Username\nset [i v] to [0]\nset [username v] to []\nrepeat (length of (username))\n    change [i v] by (1)\n    set [i2 v] to [0]\n    repeat (30)\n        change [i2 v] by (1)\n        if <(letter (i) of (username)) = (item (i2) of [alphabeth v])> then\n            set [username v] to (join (Username) (item ((i2) + (29)) of [alphabeth v]))\n        end\n    end\nend\n\n@TextEngine <No Delay>\n\ndefine Print Text: (text) X: (x) Y: (y) Clear: (y/n) Centered? (y/n2) Size: (size) Clones: (y/n4)\nhide\nset size to ((size) * (100)) %\nif <(y/n) = [Y]> then\n    if <(y/n4) = [Y]> then\n        broadcast (deleteclones v)\n    else\n        erase all\n    end\nend\nif <(y/n2) = [Y]> then\n    go to x: (x) y: (y)\n    change x by ((0) - ((((length of (text)) * ((size) * (7))) - ((size) * (7))) / (2)))\n    change y by (((size) * (7)) / (2))\nelse\n    go to x: (x) y: (y)\nend\nset [x v] to [0]\nrepeat (length of (text))\n    change [x v] by (1)\n    if <(letter (x) of (text)) = [ ]> then\n    change x by ((size) * (7))\nend\n\nwhen I receive [deleteclones v]\ndelete this clone\n\nwhen I start as a clone\nshow\n\nwhen I receive [hide v]\nif <(Level) = [1]> then\n    Print Text: [hello and welcome to stages!] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    Print Text: [use the arrow keys to move, press up to jump and avoid the spikes.] X: (0) Y: (150) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    Print Text: [good luck and have fun!] X: (0) Y: (135) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [2]> then\n    Print Text: [watch out for the orange spikes!] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [3]> then\n    Print Text: [just don't fall, and you'll be fine.] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [4]> then\n    Print Text: [tricky, don't you think?] X: (120) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [5]> then\n    Print Text: [ok, now touch that flag over there.] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [6]> then\n    Print Text: [do you like what i did, i updated the game.] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    Print Text: [and also, the levels are harder.] X: (0) Y: (150) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [7]> then\n    Print Text: [time your jumps] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [8]> then\n    Print Text: [oh, i like this one :d] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [9]> then\n    Print Text: [even harder than before!] X: (120) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [10]> then\n    Print Text: [this is probably the hardest of them all!] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\nend\nif <(Level) = [11]> then\n    Print Text: [thanks for playing my game!] X: (0) Y: (165) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    Print Text: [if you liked it, please love and favorite] X: (0) Y: (150) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    Print Text: (join [you died ] (join (Death Counter) [ times])) X: (0) Y: (135) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    Verify score\n    Print Text: (join [the highscore holder is ] (join (Highscore Holder) (join [ and it died ] (join (Highscore Counter) [ times])))) X: (0) Y: (120) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    if <(Highscore Holder) = (username)> then\n        Print Text: [you're the highscore holder!?! wow that's awesome!] X: (0) Y: (105) Clear: [n] Centered? [y] Size: (1) Clones: [n]\n    end\nend\nforever\n    if <(Opened?) = [1]> then\n        Get Highscore\n        Get Highscore Holder\n        wait (1) seconds\n        Print Text: [highscore holder:] X: (-230) Y: (150) Clear: [n] Centered? [n] Size: (1) Clones: [y]\n        Print Text: (Highscore Holder) X: (-230) Y: (135) Clear: [n] Centered? [n] Size: (1) Clones: [y]\n        Print Text: (join [highscore: ] (Highscore Counter)) X: (-230) Y: (105) Clear: [n] Centered? [n] Size: (1) Clones: [y]\n        Print Text: [------------------------------] X: (-230) Y: (90) Clear: [n] Centered? [n] Size: (1) Clones: [y]\n        Print Text: (join [your deaths: ] (Death Counter)) X: (-230) Y: (75) Clear: [n] Centered? [n] Size: (1) Clones: [y]\n        Print Text: [volume:] X: (-230) Y: (45) Clear: [n] Centered? [n] Size: (1) Clones: [y]\n        wait until <not <(Opened?) = [1]>>\n    else\n        broadcast (deleteclones v)\n    end\nend\n\ndefine Get Highscore\nset [i v] to [1]\nset [highscore counter v] to []\nrepeat until <(join (letter (((i) * (2)) - (1)) of (☁ Highscore)) (letter ((i) * (2)) of (☁ Highscore))) = [99]>\n    change [i v] by (1)\n    set [highscore counter v] to (join (Highscore Counter) (letter (((i) - (1)) * (2)) of (☁ Highscore)))\nend\n\ndefine Verify score\nGet Highscore\nif <(Death Counter) < (Highscore Counter)> then\n    set [i v] to [0]\n    set [☁ highscore v] to []\n    repeat (length of (Death Counter))\n        change [i v] by (1)\n        set [☁ highscore v] to (join (☁ Highscore) (join [0] (letter (i) of (Death Counter))))\n    end\n    set [☁ highscore v] to (join (☁ Highscore) (join [99] (Username)))\nend\nGet Highscore\nGet Highscore Holder\n\nwhen I receive [show v]\nerase all\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I start as a clone\nset [brightness v] effect to (100)\nforever\n    go to [front v] layer\nend\n\ndefine Get Highscore Holder\nset [i v] to [0]\nrepeat until <(join (letter (((i) * (2)) - (1)) of (☁ Highscore)) (letter ((i) * (2)) of (☁ Highscore))) = [99]>\n    change [i v] by (1)\nend\nset [i2 v] to [0]\nset [highscore holder v] to []\nrepeat (((length of (☁ Highscore)) / (2)) - (i))\n    change [i2 v] by (1)\n    set [i3 v] to [0]\n    repeat (30)\n        change [i3 v] by (1)\n        if <(join (letter ((((i2) + (i)) * (2)) - (1)) of (☁ Highscore)) (letter (((i2) + (i)) * (2)) of (☁ Highscore))) = (item ((i3) + (29)) of [alphabeth v])> then\n            set [highscore holder v] to (join (Highscore Holder) (item (i3) of [alphabeth v]))\n        end\n    end\nend\n\n@Info\n\nwhen flag clicked\nset [i v] to [0]\nrepeat (2)\n    change [i v] by (1)\n    create clone of (_myself_ v)\nend\nforever\n    if <(Playing) = [1]> then\n        if <key (i v) pressed?> then\n            if <(Opened?) = [0]> then\n                set [opened? v] to [1]\n            else\n                set [opened? v] to [0]\n            end\n            wait until <not <key (i v) pressed?>>\n        end\n    end\nend\n\nwhen I start as a clone\nforever\n    go to [front v] layer\n    if <(Playing) = [0]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I start as a clone\nshow\nif <(i) = [1]> then\n    forever\n        switch costume to (limits v)\n        go to x: (Tab Xpos) y: (0)\n        switch costume to (page v)\n    end\nend\nif <(i) = [2]> then\n    switch costume to (info tab v)\n    go to x: (-236) y: (0)\n    set [opened? v] to [0]\n    forever\n        if <touching (mouse-pointer v)?> then\n            if <(Opened?) = [0]> then\n                change x by (((-231) - (x position)) * (0.2))\n            else\n                change x by (((-5) - (x position)) * (0.2))\n            end\n            if <mouse down?> then\n                if <(Opened?) = [0]> then\n                    set [opened? v] to [1]\n                else\n                    set [opened? v] to [0]\n                end\n                wait until <not <mouse down?>>\n            end\n        else\n            if <(Opened?) = [0]> then\n                change x by (((-236) - (x position)) * (0.2))\n            else\n                change x by (((0) - (x position)) * (0.2))\n            end\n        end\n        set [tab xpos v] to (x position)\n    end\nend\n\n@Volume\n\nwhen I start as a clone\nshow\nif <(i) = [1]> then\n    forever\n        hide\n    end\nend\nif <(i) = [2]> then\n    forever\n        switch costume to (limits v)\n        go to x: ((Tab Xpos) - (190)) y: (20)\n        switch costume to (slider bar v)\n        if <touching (mouse-pointer v)?> then\n            set [touching bar v] to [1]\n        else\n            set [touching bar v] to [0]\n        end\n        go to [front v] layer\n    end\nend\nif <(i) = [3]> then\n    go to x: (((Tab Xpos) - (190)) + (((All Volume) * (38)) / (100))) y: (20)\n    forever\n        switch costume to (limits v)\n        go to x: (((Tab Xpos) - (190)) + (((((All Volume) * (38)) / (100)) * (2)) - (38))) y: (20)\n        switch costume to (slider v)\n        go to [front v] layer\n        if <<mouse down?> and <<touching (mouse-pointer v)?> or <(Touching bar) = [1]>>> then\n            repeat until <<not <mouse down?>> or <not <(Opened?) = [1]>>>\n                change x by (((mouse x) - (x position)) * (0.5))\n                go to [front v] layer\n                if <(x position) > (((Tab Xpos) - (190)) + (38))> then\n                    set x to (((Tab Xpos) - (190)) + (38))\n                end\n                if <(x position) < (((Tab Xpos) - (190)) - (38))> then\n                    set x to (((Tab Xpos) - (190)) - (38))\n                end\n                set [all volume v] to ((((((x position) + (190)) + (38)) / (2)) * (100)) / (38))\n            end\n        end\n    end\nend\n\nwhen flag clicked\nhide\nset [all volume v] to [100]\nset [i v] to [0]\nrepeat (3)\n    change [i v] by (1)\n    create clone of (_myself_ v)\nend\n\nset [highscore holder v] to [bubbaboiisop]\n\nchange [level v] by (1)\nbroadcast (next level v)\n\n@Sprite1\n\nwhen flag clicked\nset volume to (100) %\nstart sound [music v]\n\nwhen flag clicked\nforever\n    set volume to (All Volume) %\nend\n\n
(. ❛ ᴗ ❛.) Hello there! \n--------------------------------\n~ Instructions ~\n☆ Use arrow keys to move\n☆ Avoid red / gray spikes\n☆ I dunno about yellow spikes, you tell me! (well this is a joke)\n☆ Enjoy