Ninja platformer!
@Stage\n\nwhen stage clicked\nif <(mouse x) > [130]> then\n    next backdrop\nend\nif <(mouse x) < [-120]> then\n    switch backdrop to ((backdrop [number v]) - (1))\nend\n\nwhen flag clicked\nif <(backdrop [number v]) = [1]> then\n    next backdrop\nend\n\nif <(mouse y) < [-130]> then\n\n@Platforms\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nswitch costume to (1 v)\n\nwhen I receive [level up v]\nnext costume\n\n@HERO\n\nwhen flag clicked\ngo to x: (-222) y: (-111)\nforever\n    if <not <touching (platforms v)?>> then\n        change y by (-4)\n    end\n    Sensing\n    change y by (4)\n    if <<key (left arrow v) pressed?> or <([direction v] of [joypad v]) < [-70]>> then\n        change x by (-5)\n        Sensing\n    end\n    if <touching (platforms v)?> then\n        change x by (5)\n    end\n    if <<key (right arrow v) pressed?> or <([direction v] of [joypad v]) > [70]>> then\n        change x by (5)\n        Sensing\n    end\n    if <touching (platforms v)?> then\n        change x by (-5)\n    end\n    change y by (-4)\nend\n\nwhen [up arrow v] key pressed\nif <touching (platforms v)?> then\n    broadcast (Up v)\nend\n\ndefine Sensing\nif <touching color (#ff0000)?> then\n    go to x: (-222) y: (-111)\nend\nif <touching color (#9966ff)?> then\n    go to x: (-222) y: (-111)\n    broadcast (Level Up v)\nend\n\nwhen I receive [jump v]\nif  then\n    broadcast (Up v)\nend\n\nwhen I receive [up v]\nrepeat (14)\n    change y by (10)\nend\nchange y by (-6)\nif <touching (platforms v)?> then\n    stop [this script v]\nend\n\n@JoyPad\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (50)\n    hide\n    if <mouse down?> then\n        show\n        point towards (mouse-pointer v)\n    end\n    if <([abs v] of (direction) ) < [60]> then\n        broadcast (Jump v)\n    end\nend\n\npoint in direction (0)\n\n@Music\n\nwhen flag clicked\nhide\nforever\n    play sound [Music v] until done\nend\n\nshow\n\n
Use the arrow keys to move.