Ninja Platformer
@Stage\n\n@Player\n\nwhen I start as a clone\nswitch costume to (black v)\nrepeat (7)\n    change [ghost v] effect by (7)\n    change size by (-3)\nend\ndelete this clone\n\ndefine reset\nchange [falling v] by (1)\nif <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n    switch costume to (right v)\n    change [x v] by (2)\n    x\nelse\n    if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n        switch costume to (left v)\n        change [x v] by (-2)\n        x\n    end\nend\nset [x v] to ((x) * (0.8))\nchange x by (round (x))\nif <touching (level v)?> then\n    x\n    another x\n    change [y v] by (-1)\n    if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n        change x by (round ((x) * (-1)))\n        switch costume to (up v)\n        if <(x) > [0]> then\n            set [x v] to [-14]\n        else\n            set [x v] to [14]\n        end\n        set [y v] to [14]\n    else\n        set [x v] to [0]\n    end\nend\nchange [y v] by (-1)\nchange y by (y)\nif <touching (level v)?> then\n    set [falling v] to [0]\n    change y by ((y) * (-1))\n    set [y v] to [0]\nend\nchange y by (-1)\nif <<touching (level v)?> and <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n    change [falling v] by (1)\n    if <(falling) < [3]> then\n        set [y v] to [12]\n    end\nend\nchange y by (1)\nif <(x position) > [233]> then\n    go to x: (-211) y: (-53)\n    broadcast (next level v)\nend\nif <<<touching (danger v)?> or <touching (lava v)?>> or <(y position) < [-180]>> then\n    change [ghost v] effect by (50)\n    go to x: (-206) y: (-30)\n    wait (0.05) seconds\n    set [ghost v] effect to (0)\nend\nif <touching (bounce v)?> then\n    set [y v] to [21]\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [reset v]\nset [music v] to [1]\nforever\n    reset\n    if <(music) = [2]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nshow\ngo to x: (-154) y: (0)\nset [x v] to [0]\nset [y v] to [0]\nforever\n    switch costume to (player v)\n    go to [front v] layer\n    create clone of (_myself_ v)\nend\n\nwhen I receive [start v]\nforever\n    reset\n    if <(music) = [2]> then\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nset [music v] to [1]\n\nwhen I receive [skip v]\ngo to x: (-184) y: (-74)\n\ndefine x\nif <touching (level v)?> then\n    if <(x) > [0]> then\n        change x by (round ((x) * (-1)))\n    else\n        change [falling v] by (1)\n    end\nend\n\ndefine x\nif <key (right arrow v) pressed?> then\n    change x by (-2)\nend\n\ndefine another x\nif <key (left arrow v) pressed?> then\n    change x by (2)\nend\n\n@Level\n\nwhen I receive [next level v]\nchange [level v] by (1)\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nset [level v] to [1]\ngo to x: (0) y: (10)\nswitch costume to (1 v)\n\n@Danger\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nshow\ngo to x: (0) y: (10)\nswitch costume to (1 v)\n\nwhen I receive [skip v]\nnext costume\n\n@Lava\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I receive [next level v]\nSkip, Next costume\n\nwhen I receive [next level v]\nHide\n\nwhen I receive [skip v]\nSkip, Next costume\n\ndefine Skip, Next costume\nforever\n    if <([costume # v] of [level v]) = [6]> then\n        wait (0) seconds\n        show\n        set size to (100) %\n        go to x: (11) y: (-62)\n        forever\n            glide (0.8) secs to x: (11) y: (-50)\n            wait (0.05) seconds\n            glide (0.8) secs to x: (11) y: (-62)\n            wait (0.05) seconds\n        end\n    end\n    if <([costume # v] of [level v]) = [8]> then\n        show\n        set size to (100) %\n        go to x: (11) y: (-62)\n        forever\n            glide (0.8) secs to x: (11) y: (-50)\n            wait (0.05) seconds\n            glide (0.8) secs to x: (11) y: (-62)\n            wait (0.05) seconds\n        end\n    end\n    if <([costume # v] of [level v]) = [17]> then\n        show\n        set size to (200) %\n        go to x: (48) y: (-173)\n        forever\n            glide (0.8) secs to x: (48) y: (-153)\n            wait (0.05) seconds\n            glide (0.8) secs to x: (48) y: (-173)\n            wait (0.05) seconds\n        end\n    end\nend\n\nwhen I receive [skip v]\nHide\n\ndefine Hide\nforever\n    if <([costume # v] of [level v]) = [7]> then\n        hide\n    end\n    if <([costume # v] of [level v]) = [9]> then\n        hide\n    end\n    if <([costume # v] of [level v]) = [18]> then\n        hide\n    end\nend\n\n@Bounce\n\nwhen flag clicked\nBlock\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        broadcast (bounce v)\n        repeat (5)\n            next costume\n        end\n        repeat (5)\n            switch costume to ((costume [number v]) - (1))\n        end\n    end\nend\n\ndefine Block\nswitch costume to (1 v)\nforever\n    if <<(Level) = [11]> or <(Level) = [13]>> then\n        show\n        if <(Level) = [11]> then\n            go to x: (-113) y: (-66)\n        end\n        if <(Level) = [13]> then\n            go to x: (-145) y: (-66)\n        end\n    else\n        hide\n    end\nend\n\nwhen I receive [skip v]\nBlock\n\n@Cloud\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (pick random (40) to (50))\nset size to (pick random (70) to (100)) %\nset y to (pick random (100) to (150))\nset [speed v] to [1]\nset x to (-250)\nrepeat until <(x position) > [250]>\n    go to [back v] layer\n    move (Speed) steps\nend\ndelete this clone\n\nwhen I receive [start v]\nhide\nforever\n    wait (pick random (3) to (5)) seconds\n    create clone of (_myself_ v)\n    wait (1) seconds\nend\n\n@vol\n\nwhen I receive [start v]\nset [music v] to [1]\nhide\ngo to x: (213) y: (-112)\nforever\n    if <key (m v) pressed?> then\n        change [music v] by (1)\n        wait until <not <key (m v) pressed?>>\n    end\n    if <(music) = [2]> then\n        show\n    end\n    if <(music) = [3]> then\n        hide\n        broadcast (reset v)\n    end\n    if <(music) > [2]> then\n        set [music v] to [1]\n    end\nend\n\n@slider\n\ndefine set (y)\nset y to (y)\n\ndefine slider\ngo to x: (213) y: ((-169) + (volume))\n\nwhen flag clicked\nhide\nforever\n    set volume to (volume) %\nend\n\nwhen I receive [bounce v]\nstart sound [Big Boing v]\n\nwhen flag clicked\nhide\nforever\n    if <(music) = [2]> then\n        show\n    end\n    if <(music) = [3]> then\n        hide\n    end\nend\n\nwhen I receive [start v]\nset [volume v] to [50]\nforever\n    play sound [noice v] until done\nend\n\nwhen I receive [start v]\nset volume to (volume) %\ngo to (vol v)\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        repeat until <not <mouse down?>>\n            set [volume v] to ((mouse y) - (-169))\n            if <(volume) < [0]> then\n                set [volume v] to [0]\n            else\n                if <(volume) > [100]> then\n                    set [volume v] to [100]\n                end\n            end\n            slider\n            set y to (mouse y)\n            if <(y position) > [-80]> then\n                set [-80]\n            end\n            if <(y position) < [-146]> then\n                set [-146]\n            end\n        end\n    end\nend\n\n@Spring\n\nwhen flag clicked\nshow\n\nwhen I receive [start v]\nhide\n\n@Play button\n\nwhen flag clicked\ngo to x: (5) y: (-69)\nshow\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (30)\n        change size by ((0.3) * ((110) - (size)))\n    else\n        change size by ((0.3) * ((100) - (size)))\n        clear graphic effects\n    end\nend\n\nwhen this sprite clicked\nbroadcast (start v)\nstart sound [Click v]\nhide\n\n@Thumbnail\n\nwhen flag clicked\nhide\n\n
Hello Everyone!\nI wanted to make this a while back but I didn't have the time. Now I finished it for you guys to enjoy!\n\nPART TWO IS OUT: https://scratch.mit.edu/projects/429968004\n\nI worked really hard on this so please check it out: https://scratch.mit.edu/projects/422994241\n\nThis has 3,000+ loves???? :O\n\nInstructions:\n-Jump on enemies to kill them (they can only be killed while on the ground)\n-arrow keys to move\n-NO ADVERTISING\n\nCredits:\n@portishead7 for the character art!\n@DancingLine for house art\n@yotacopaco for the rest!\n\n#SaveThePlatformers\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nComment: "Green Grass" :D