Rage platformer 2 (2.5D)
@Stage\n\nwhen flag clicked\nswitch backdrop to (neon tunnel v)\n\nwhen I receive [message1 v]\nswitch backdrop to (refinewjump v)\n\n@játékos\n\ndefine render stage\nerase all\nswitch costume to (stage2 v)\nset [ghost v] effect to (70)\nset size to (méret) %\nswitch costume to (level)\nrepeat (10)\n    go to x: ((x) * ((size) / (100))) y: ((y) * ((size) / (100)))\n    change size by (3)\n    change [ghost v] effect by (-8)\n    stamp\nend\nclear graphic effects\nstamp\n\nwhen I receive [message1 v]\nshow\ngo to x: (0) y: (0)\nset [x v] to [0]\nset [y v] to [6]\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    render stage\n    go to x: (0) y: (0)\n    switch costume to (costume1 v)\n    if <<[300] < (y)> or <touching color (#ff0000)?>> then\n        broadcast (message1 v)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [xv v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [xv v] by (1)\n    end\n    set [xv v] to ((xv) * (0.85))\n    change x by (xv)\n    if <touching color (#000008)?> then\n        change y by (-2)\n        if <touching color (#000008)?> then\n            change y by (1)\n            if <touching color (#000008)?> then\n                change y by (1)\n                if <touching color (#000008)?> then\n                    change y by (1)\n                    if <touching color (#000008)?> then\n                        change y by (1)\n                        if <touching color (#000008)?> then\n                            change y by (1)\n                            if <touching color (#000008)?> then\n                                change y by (-5)\n                                change x by ((-1) * (xv))\n                                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <not <(xv) = [0]>>> then\n                                    set [mode v] to [walljump]\n                                    set [yv v] to [8]\n                                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                                else\n                                    set [mode v] to [wallslide]\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\n    change y by (-3)\n    if <touching color (#000008)?> then\n        if <(yv) = [-3]> then\n            if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n                set [mode v] to [run]\n            else\n                if <([abs v] of (xv) ) > [.1]> then\n                    set [mode v] to [skid]\n                else\n                    set [mode v] to [stand]\n                end\n            end\n        end\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [mode v] to [jump]\n            set [yv v] to [9]\n        end\n    end\n    if <<<<(mode) = [jump]> or <(mode) = [walljump]>> and <(yv) < [0]>> or <<<(mode) = [run]> or <(mode) = [skid]>> and <(yv) < [-3]>>> then\n        set [mode v] to [fall]\n    end\n    change y by (3)\n    if <(yv) > [-15]> then\n        change [yv v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching color (#000008)?>> then\n        change y by (-1)\n        if <not <touching color (#000008)?>> then\n            change y by (-1)\n            if <not <touching color (#000008)?>> then\n                change y by (-1)\n                if <not <touching color (#000008)?>> then\n                    change y by (-1)\n                    if <not <touching color (#000008)?>> then\n                        change y by (-1)\n                        if <not <touching color (#000008)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\n    change y by (yv)\n    if <touching color (#000008)?> then\n        change y by (-2)\n        if <touching color (#000008)?> then\n            change y by ((-1) * (yv))\n            set [yv v] to [-3]\n        end\n        change y by (2)\n    end\n    change [x v] by ((-1) * (x position))\n    change [y v] by ((-1) * (y position))\n    go to x: (0) y: (0)\n    if <touching color (#66c0ff)?> then\n        set [mode v] to [jump]\n        set [yv v] to [11]\n    end\nend\n\nwhen [r v] key pressed\nbroadcast (message1 v)\n\nwhen flag clicked\nset [pixelate v] effect to (0)\nerase all\nhide\nset [méret v] to [100]\nset [level v] to [2]\nforever\n    if <<key (space v) pressed?> or <touching color (#2aff00)?>> then\n        repeat (20)\n            change [méret v] by (-5)\n        end\n        change [level v] by (1)\n        broadcast (message1 v)\n        repeat (20)\n            change [méret v] by (5)\n        end\n    end\nend\n\n@platform\n\nwhen flag clicked\nset size to (120) %\nshow\ngo to x: (0) y: (70)\npoint in direction (90)\nforever\n    repeat (30)\n        change y by (-1)\n    end\n    repeat (30)\n        change y by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    wait (0.01) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nforever\n    change [brightness v] effect by (25)\n    wait (0.3) seconds\n    delete this clone\nend\n\nwhen I receive [message1 v]\nhide\n\nplay sound [hello guys v] until done\n\n@hang\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (-224) y: (-162)\nset [zene v] to [2]\nforever\n    if <(zene) = [1]> then\n        play sound [Video Game 2 v] until done\n    end\n    if <(zene) = [2]> then\n        play sound [Emotional Piano v] until done\n    end\nend\n\nwhen [r v] key pressed\nstop all sounds\nset [zene v] to [1]\n\nwhen this sprite clicked\nnext costume\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [1]> then\n        set volume to (100) %\n    end\n    if <(costume [number v]) = [2]> then\n        set volume to (65) %\n    end\n    if <(costume [number v]) = [3]> then\n        set volume to (35) %\n    end\n    if <(costume [number v]) = [4]> then\n        set volume to (0) %\n    end\nend\n\n@Számláló\n\nwhen I receive [message1 v]\nwait until <key (any v) pressed?>\nforever\n    repeat until <(level) = [9]>\n        wait (0.1) seconds\n        change [time v] by (0.1)\n    end\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [time v] to [0]\nforever\n    if <key (space v) pressed?> then\n        change [time v] by (100)\n    end\n    if <[8] < (level)> then\n        say [Try agine?] for <key (any v) pressed?> seconds\n        wait until <key (any v) pressed?>\n        set [level v] to [2]\n        set [time v] to [0]\n    end\nend\n\n
Check out Rage platformer 1: https://scratch.mit.edu/projects/315866157\nMove with arrow keys or W,A,S,D\nPress "R" to restert\nPress "Space" to skip the level\nRed = death\nBlue = bounce\nGreen = next level\nLEVELS ARE POSSIBLE\nMy best is 54.1! 