Simple Platformer Game remix
@Stage\n\n@Player\n\nwhen I receive [makeplayerfollowhitbox v]\ngo to (hitbox v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset rotation style [left-right v]\npoint in direction (90)\nforever\n    if <key (right arrow v) pressed?> then\n        switch costume to ((costume [number v]) + (1))\n        point in direction (90)\n    else\n        if <key (left arrow v) pressed?> then\n            switch costume to ((costume [number v]) - (1))\n            point in direction (-90)\n        else\n            switch costume to (costume1 v)\n        end\n    end\n    wait (0.04) seconds\nend\n\n@Hitbox\n\nwhen flag clicked\nshow\nset size to (50) %\nset [spawnx v] to [-203]\nset [spawny v] to [-71]\ngo to x: (SpawnX) y: (SpawnY)\nset rotation style [left-right v]\nset [xvelocity v] to [0]\nset [yvelocity v] to [0]\nset [ghost v] effect to (100)\nforever\n    broadcast (MakePlayerFollowHitbox v)\n    Up/Down Movement [12] [-1]\n    Right/Left Movement [10] [0.6]\n    CheckNextLevel\n    CheckFallOffScreen\nend\n\ndefine Up/Down Movement (jump height) (fall speed)\nchange y by (yVelocity)\nif <touching (level v)?> then\n    CheckTouchingLava\n    repeat ([ceiling v] of ([abs v] of (yVelocity) ) )\n        if <touching (level v)?> then\n            change y by (((yVelocity) / ([abs v] of (yVelocity) )) * (-1))\n        end\n    end\n    if <<not <(yVelocity) > [0]>> and <key (up arrow v) pressed?>> then\n        set [yvelocity v] to (jump height)\n    else\n        set [yvelocity v] to [0]\n    end\nelse\n    change [yvelocity v] by (fall speed)\nend\n\ndefine Right/Left Movement (move speed) (drag)\nchange x by (xVelocity)\nif <touching (level v)?> then\n    CheckTouchingLava\n    repeat ([ceiling v] of ([abs v] of (xVelocity) ) )\n        if <touching (level v)?> then\n            change x by (((xVelocity) / ([abs v] of (xVelocity) )) * (-1))\n        end\n    end\n    set [xvelocity v] to [0]\nend\nif <key (right arrow v) pressed?> then\n    set [xvelocity v] to (move speed)\nelse\n    if <key (left arrow v) pressed?> then\n        set [xvelocity v] to ((move speed) * (-1))\n    end\nend\nset [xvelocity v] to ((xVelocity) * (drag))\n\ndefine CheckNextLevel\nif <(x position) > [235]> then\n    broadcast (Next Level v)\n    go to x: (SpawnX) y: (SpawnY)\nend\n\ndefine CheckTouchingLava\nif <touching color (#ff0000)?> then\n    go to x: (SpawnX) y: (SpawnY)\nend\n\ndefine CheckFallOffScreen\nif <(y position) < [-170]> then\n    go to x: (SpawnX) y: (SpawnY)\nend\n\n@Level\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nforever\n    play sound [Cave v] until done\nend\n\nwhen I receive [next level v]\nchange [level v] by (1)\nnext costume\n\nwhen flag clicked\nif <(costume [number v]) = [11]> then\n    stop [all v]\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nset [ghost v] effect to (100)\n\nset [ghost v] effect to (0)\n\n
Use arrow keys to move.\n\n