Seasons || 100% Pen Platformer
@Stage\n\n@Sprite2\n\nwhen flag clicked\ngo to x: (-214) y: (115)\nswitch backdrop to (backdrop2 v)\nswitch costume to (costume1 v)\nshow\nset [level v] to [1]\ngo to x: (-177) y: (12)\nhide variable [y v]\nhide variable [x v]\nset [y v] to [0]\nset [x v] to [0]\nforever\n    change [y v] by (-1)\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        change [x v] by (-1)\n        switch costume to (costume1 v)\n    end\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> then\n        change [x v] by (1)\n        switch costume to (costume2 v)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (sprite3 v)?> then\n        change y by (1)\n    end\n    if <touching (sprite3 v)?> then\n        change y by (1)\n    end\n    if <touching (sprite3 v)?> then\n        change y by (1)\n    end\n    if <touching (sprite3 v)?> then\n        change y by (1)\n    end\n    if <touching (sprite3 v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            set [y v] to [17]\n            if <(x) > [0]> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (sprite3 v)?> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (sprite3 v)?>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <<touching (sprite4 v)?> or <key (r v) pressed?>> then\n        if <(level) = [2]> then\n            go to x: (140) y: (-46)\n        end\n        if <(level) = [3]> then\n            go to x: (-177) y: (-66)\n        end\n        if <(level) = [4]> then\n            go to x: (140) y: (-46)\n        end\n        if <(level) = [5]> then\n            go to x: (-177) y: (-46)\n        end\n        if <(level) = [6]> then\n            go to x: (140) y: (-58)\n        end\n        if <(level) = [7]> then\n            go to x: (-205) y: (-39)\n        end\n        if <(level) = [8]> then\n            go to x: (183) y: (13)\n        end\n        if <(level) = [9]> then\n            go to x: (-177) y: (10)\n        end\n        if <(level) = [10]> then\n            go to x: (208) y: (13)\n        end\n    end\nend\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n    if <(level) = [1]> then\n        if <(x position) > [223]> then\n            set [level v] to [2]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [2]> then\n        if <(x position) > [-223]> then\n            go to x: (140) y: (-46)\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [2]> then\n        if <(x position) < [-220]> then\n            set [level v] to [3]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [3]> then\n        if <(x position) < [-220]> then\n            go to x: (-177) y: (-46)\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [4]> then\n        if <(x position) < [-222]> then\n            set [level v] to [5]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [3]> then\n        if <(x position) > [223]> then\n            set [level v] to [4]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [4]> then\n        if <(x position) > [-223]> then\n            go to x: (201) y: (-46)\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\n\nwhen flag clicked\nforever\n    if <(level) = [5]> then\n        if <(x position) > [222]> then\n            set [level v] to [6]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [5]> then\n        if <(x position) > [-222]> then\n            go to x: (-192) y: (-46)\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [6]> then\n        if <(x position) > [222]> then\n            go to x: (140) y: (-58)\n            stop [this script v]\n        end\n    end\nend\n\nstop [this script v]\n\nwhen flag clicked\nforever\n    if <(level) = [8]> then\n        if <(x position) > [222]> then\n            go to x: (183) y: (14)\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [6]> then\n        if <(x position) < [-215]> then\n            set [level v] to [7]\n        end\n    end\nend\n\nif <(level) = [6]> then\n    go to x: (140) y: (-58)\nend\n\nwhen flag clicked\nforever\n    if <(level) = [7]> then\n        if <(x position) > [222]> then\n            set [level v] to [8]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [9]> then\n        if <(x position) < [-215]> then\n            go to x: (-177) y: (10)\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [8]> then\n        if <(x position) < [-215]> then\n            set [level v] to [9]\n        end\n    end\nend\n\ngo to x: (-205) y: (-39)\n\nif <touching color (#000000)?> then\n    set [y v] to [20]\nend\n\nwhen flag clicked\nforever\n    if <(level) = [9]> then\n        if <(x position) > [222]> then\n            set [level v] to [10]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [10]> then\n        if <(x position) > [222]> then\n            go to x: (208) y: (14)\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [11]> then\n        stop [other scripts in sprite v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [10]> then\n        if <(x position) < [-215]> then\n            set [level v] to [11]\n        end\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nshow\nforever\n    if <(level) = [1]> then\n        switch costume to (level 1 v)\n    end\n    if <(level) = [2]> then\n        switch costume to (level 2 v)\n    end\n    if <(level) = [3]> then\n        switch costume to (level 3 v)\n    end\n    if <(level) = [4]> then\n        switch costume to (level 4 v)\n    end\n    if <(level) = [5]> then\n        switch costume to (level 5 v)\n    end\n    if <(level) = [6]> then\n        switch costume to (level 6 v)\n    end\n    if <(level) = [7]> then\n        switch costume to (level 7 v)\n    end\n    if <(level) = [8]> then\n        switch costume to (level 8 v)\n    end\n    if <(level) = [9]> then\n        switch costume to (level 9 v)\n    end\n    if <(level) = [10]> then\n        switch costume to (level 10 v)\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\nset [level v] to [1]\nswitch costume to (costume1 v)\nshow\ngo to x: (0) y: (0)\nforever\n    if <(level) = [1]> then\n        switch costume to (costume5 v)\n    end\n    if <(level) = [2]> then\n        switch costume to (costume3 v)\n    end\n    if <(level) = [3]> then\n        switch costume to (costume2 v)\n    end\n    if <(level) = [4]> then\n        switch costume to (costume6 v)\n    end\n    if <(level) = [5]> then\n        switch costume to (costume4 v)\n    end\n    if <(level) = [6]> then\n        switch costume to (costume8 v)\n    end\n    if <(level) = [7]> then\n        switch costume to (costume7 v)\n    end\n    if <(level) = [8]> then\n        switch costume to (costume9 v)\n    end\n    if <(level) = [9]> then\n        switch costume to (costume10 v)\n    end\n    if <(level) = [10]> then\n        switch costume to (costume11 v)\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(level) = [11]> then\n        show\n    end\nend\n\n@Sprite5\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\n\n@Sprite6\n\nwhen flag clicked\nset volume to (100) %\nforever\n    play sound [Xenogenesis v] until done\nend\n\n
double click flag to start.\n\nthis is the easiest platformer you've ever played. all you have to do is follow the arrows.\n\nupdate: adjusted pacing, hopefully better game design\n\n-- controls --\narrow keys to move (wasd works too)\nflag to soft reset (resets player)\nhold [r] + flag to hard restart (timer and all cutscenes will reset)\nthere are no checkpoints\n--\n@narlip, @duck--, and @TheSwiftNinja are cool\n--\nI noticed that on scratch, there are many platformer tutorials. however, as one might think otherwise, they aren't teaching you how to play a platformer, but how to make one.\nthis is obviously a big problem, so I made this project. it's a totally normal platformer tutorial that actually teaches you how to play a platformer.\n\n-- credits (also in-game) --\nportal 2 for initial inspiration\ne's jammy jam - nighttime stroll\nnyoko - flowing into the darkness\n\nplaytesters:\n@Amethystblight\n@Max-0\n@TheSwiftNinja\n--\n#games