No Variable, Control, or Event Blocks Platformer Engine
@Stage\n\n@Sprite1\n\ndefine physics\nchange tempo by (<key (right arrow v) pressed?> * (2))\nchange tempo by (<key (left arrow v) pressed?> * (-2))\nset tempo to ((((tempo) - (100)) * (.7)) + (100))\nchange x by ((tempo) - (100))\nset size to (100) %\nchange size by <touching color (#000000)?>\nchange x by (() - (<(size) = [101]> * ((tempo) - (100))))\nchange tempo by (() - (<(size) = [101]> * ((tempo) - (100))))\nset size to (100) %\npoint in direction ((direction) - (.5))\nchange y by (direction)\nchange size by <touching color (#000000)?>\nchange y by (() - (<(size) = [101]> * (direction)))\npoint in direction ((direction) - (<(size) = [101]> * (direction)))\nset size to (100) %\nchange y by (-1)\npoint in direction ((direction) + (<<key (up arrow v) pressed?> and <touching color (#000000)?>> * ((10) - (direction))))\nchange y by (1)\nswitch backdrop to ((backdrop [number v]) + <(x position) > [240]>)\nchange size by <<(y position) < [-180]> or <<(x position) > [240]> or <touching color (#ff0000)?>>>\nchange tempo by (() - (<(size) = [101]> * ((tempo) - (100))))\npoint in direction ((direction) - (<(size) = [101]> * (direction)))\ngo to x: ((x position) - (((x position) + (130)) * <(size) = [101]>)) y: ((y position) - ((y position) * <(size) = [101]>))\nset size to (100) %\nphysics\n\nwhen video motion > (-9999)\nturn video (off v)\ngo to x: (-130) y: (0)\npoint in direction (0)\nswitch backdrop to (backdrop1 v)\nset size to (100) %\nphysics\n\n@Sprite2\n\nwhen video motion > (-9999)\ngo to x: (0) y: (0)\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n
A fully featured platforming engine that doesn't use a single block from any of the variables, control, or events sections of Scratch. Everything you would expect is there: controls, collision, velocity, levels, death, ...