Rotating platformer
@Stage\n\nwhen flag clicked\nforever\n    play sound [Clarv & Arkis - Polar \[Bass Rebels Release\]  v] until done\nend\n\nbroadcast (Thumbnail v)\n\nwhen [s v] key pressed\nif <not <(Stage) = [10]>> then\n    broadcast (New stage v)\nend\n\nwhen flag clicked\nforever\n    switch costume to (Stage)\nend\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nswitch backdrop to (thumbnail v)\nwait (.1) seconds\nstop [all v]\n\n@Stage\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Stage)\nend\n\nbroadcast (Thumbnail v)\n\nwhen I receive [thumbnail v]\nhide\n\n@Player\n\nwhen I receive [new stage v]\nchange [stage v] by (1)\nreset\n\nwhen flag clicked\nshow\nset [stage v] to [1]\nreset\nforever\n    physics\nend\n\ndefine reset\ngo to x: (0) y: (150)\nset [x v] to [0]\nset [y v] to [150]\nset [xv v] to [0]\nset [yv v] to [0]\n\ndefine physics\nchange [xv v] by ((<key (right arrow v) pressed?> - <key (left arrow v) pressed?>) * ((<(y) > [0]> * (1.5)) - (0.75)))\nset [xv v] to ((xv) * (0.9))\nchange [y v] by (2)\ngo to x: (([sin v] of (x) ) * (y)) y: (([cos v] of (x) ) * (y))\nif <touching (stage v)?> then\n    change [y v] by (-4)\nend\ngo to x: (([sin v] of (x) ) * (y)) y: (([cos v] of (x) ) * (y))\nchange [x v] by ((xv) / ((distance to [stage v]) / (100)))\nif <touching (stage v)?> then\n    repeat until <not <touching (stage v)?>>\n        change [x v] by (<(xv) < [0]> - <(xv) > [0]>)\n        go to x: (([sin v] of (x) ) * (y)) y: (([cos v] of (x) ) * (y))\n    end\n    set [xv v] to [0]\nend\nchange [y v] by (-5)\nchange [yv v] by (-1)\nchange [y v] by (yv)\ngo to x: (([sin v] of (x) ) * (y)) y: (([cos v] of (x) ) * (y))\nif <touching (stage v)?> then\n    repeat until <not <touching (stage v)?>>\n        change [y v] by (<(yv) < [0]> - <(yv) > [0]>)\n        go to x: (([sin v] of (x) ) * (y)) y: (([cos v] of (x) ) * (y))\n    end\n    if <<key (up arrow v) pressed?> and <(yv) < [0]>> then\n        set [yv v] to [12]\n    else\n        set [yv v] to [0]\n    end\nend\nif <<<<touching (_edge_ v)?> and <(y) < [0]>> or <touching (death v)?>> or <touching (spinning parts v)?>> then\n    reset\nend\nif <touching (bounce v)?> then\n    set [yv v] to [16]\nend\nif <touching (win v)?> then\n    broadcast (New stage v)\nend\npoint in direction (x)\n\nwhen I receive [thumbnail v]\nhide\n\n@Death\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Stage)\nend\n\nwhen I receive [thumbnail v]\nhide\n\n@Bounce\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Stage)\nend\n\nwhen I receive [thumbnail v]\nhide\n\n@Win\n\nwhen I receive [thumbnail v]\nhide\n\nwhen flag clicked\nshow\n\n@Spinning parts\n\nwhen flag clicked\nshow\nset [dir v] to [90]\nforever\n    change [dir v] by (5)\n    point in direction (dir)\n    switch costume to (Stage)\nend\n\nwhen I receive [thumbnail v]\nhide\n\n
Left and right arrow keys to move, up arrow to jump\n\n"S" to skip stage\n\nPlease propose this to be featured at: https://scratch.mit.edu/studios/4228481/comments/\n\nI'll make more levels if we reach 100 likes and favorites!