Rage platformer (Scrolling)
@Stage\n\n@Character\n\nwhen flag clicked\nhide variable [level v]\nset [level v] to [1]\ngo to x: (0) y: (0)\nwait (3) seconds\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nforever\n    Platform [-1] [15] [3] [.7] [8]\nend\n\ndefine Platform (gravity) (jump height) (side movement) (friction) (slope)\nchange [y velocity v] by (gravity)\nchange y by (Y Velocity)\nif <touching color (#000000)?> then\n    repeat until <not <touching color (#000000)?>>\n        change y by ((([abs v] of (Y Velocity) ) / (Y Velocity)) * (-1))\n    end\n    set [y velocity v] to (<<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(([abs v] of (Y Velocity) ) / (Y Velocity)) = [-1]>> * (jump height))\nend\nset [x velocity v] to (((X Velocity) + ((<<key (left arrow v) pressed?> or <key (a v) pressed?>> * ((side movement) * (-1))) + (<<key (right arrow v) pressed?> or <key (d v) pressed?>> * (side movement)))) * (friction))\nchange x by (X Velocity)\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    point in direction (-90)\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    point in direction (90)\nend\nset [slope v] to [0]\nrepeat until <<(Slope) = ((slope) * (-1))> or <not <touching color (#000000)?>>>\n    change y by (1)\n    change [slope v] by (-1)\nend\nif <touching color (#000000)?> then\n    change y by (Slope)\n    repeat until <not <touching color (#000000)?>>\n        change x by ((([abs v] of (X Velocity) ) / (X Velocity)) * (-1))\n    end\nend\nchange [scrolling x v] by ((x position) * (-1))\nchange [scrolling y v] by ((y position) * (-1))\ngo to x: (0) y: (0)\n\nwhen flag clicked\nforever\n    if <touching color (#1cff00)?> then\n        change [level v] by (1)\n        broadcast (Next Level v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#e200ff)?> then\n        set [y velocity v] to [20]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#ff0000)?> then\n        broadcast (Die v)\n    end\nend\n\nwhen [r v] key pressed\nset [y velocity v] to [0]\nbroadcast (Die v)\n\nwhen I receive [ok v]\nshow variable [level v]\n\n@Level\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset size to (150) %\nset [scrolling x v] to [0]\nset [scrolling y v] to [0]\nforever\n    go to x: (Scrolling X) y: (Scrolling Y)\n    switch costume to (Level)\nend\n\nwhen I receive [next level v]\nset [scrolling x v] to [0]\nset [scrolling y v] to [0]\n\nwhen I receive [die v]\nset [scrolling x v] to [0]\nset [scrolling y v] to [0]\n\nwhen flag clicked\nforever\n    if <[294] < (y position)> then\n        broadcast (Die v)\n    end\nend\n\n@detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nshow\ngo to x: (0) y: (50)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (0)\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nbroadcast (OK v)\n\n@Sprite1\n\nwhen I receive [ok v]\nshow\n\nwhen flag clicked\nhide\n\n
Part 2: https://scratch.mit.edu/projects/405981875/\nPart 3: https://scratch.mit.edu/projects/408675614/\nPlz love, and fave. I would appreciate it\ngo to this. it will be a better series. https://scratch.mit.edu/projects/410835431/