WORLD TRAVEL || 360°Platformer 

Instructions: Hello! I haven't shared a project in a long time, so I thought it was time to do a project. Yes, my game may be a little short but I think it's worth playing. Good games to you all!

@Stage\n\n@spikes\n\ndefine Set hack size to (size)\nswitch costume to (size hack v)\nset size to (size) %\nswitch costume to (stage1 v)\n\nwhen I receive [end v]\nshow\ngo to [back v] layer\npoint in direction (90)\ngo to x: (0) y: (0)\nSet hack size to [250]\nforever\n    go to (platform v)\n    point in direction ([direction v] of [platform v])\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\npoint in direction (105)\nswitch costume to (stage2 v)\n\nwhen flag clicked\nhide\n\n@Trees\n\ndefine Set hack size to (size)\nswitch costume to (size hack v)\nset size to (size) %\nswitch costume to (stage1 v)\n\nwhen I receive [end v]\nshow\ngo to [back v] layer\npoint in direction (90)\ngo to x: (0) y: (0)\nSet hack size to [250]\nforever\n    go to (platform v)\n    point in direction ([direction v] of [platform v])\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\npoint in direction (105)\nswitch costume to (stage2 v)\n\nwhen flag clicked\nhide\n\n@Platform\n\ndefine SET HACK SIZE TO (number or text)\nswitch costume to (コスチューム1 v)\nset size to (number or text) %\nswitch costume to (stage1 v)\n\nwhen I receive [respawn v]\npoint in direction (90)\npoint in direction (105)\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\n\nwhen I receive [end v]\npoint in direction (105)\ngo to [front v] layer\nshow\nbroadcast (respawn v)\nSET HACK SIZE TO [250]\nforever\n    if <(しばしまてい！) = [0]> then\n        change [y vel v] by (1)\n        if <<<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>> or <key (d v) pressed?>> then\n            change [d vel v] by (-0.25)\n        end\n        if <<key (left arrow v) pressed?> or <<<(x position) > (mouse x)> and <mouse down?>> or <key (a v) pressed?>>> then\n            change [d vel v] by (0.25)\n        end\n        set [d vel v] to ((d vel) * (0.8))\n        turn right (d vel) degrees\n        if <touching (- v)?> then\n            change y by (-1)\n            if <touching (- v)?> then\n                change y by (-1)\n                if <touching (- v)?> then\n                    change y by (-1)\n                    if <touching (- v)?> then\n                        change y by (-1)\n                        if <touching (- v)?> then\n                            change y by (4)\n                            turn right ((d vel) * (-1)) degrees\n                            set [d vel v] to [0]\n                        end\n                    end\n                end\n            end\n        end\n        change y by (y vel)\n        if <touching (- v)?> then\n            change y by ((y vel) * (-1))\n            set [y vel v] to [0]\n        end\n        change y by (1)\n        if <touching (- v)?> then\n            if <<<key (up arrow v) pressed?> or <<(mouse y) > [50]> and <mouse down?>>> or <key (w v) pressed?>> then\n                start sound [suck1 \(1\) v]\n                set [y vel v] to [-13]\n            end\n        end\n        change y by (-1)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag v]\nforever\n    play sound [1919 v] until done\nend\n\nwhen I receive [ｄ v]\npoint in direction (105)\nswitch costume to (stage2 v)\n\n@-\n\nwhen flag clicked\nset [a v] to [0]\nhide\n\nwhen flag clicked\ngo to x: (0) y: (-1)\nforever\n    if <touching (spikes v)?> then\n        set [しばしまてい！ v] to [1]\n        start sound [Crunch \(1\) \(2\) v]\n        repeat (8)\n            change [ghost v] effect by (10)\n            change y by (10)\n            turn right (15) degrees\n        end\n        broadcast (respawn v)\n        repeat (2)\n            change [ghost v] effect by (10)\n            change y by (10)\n            turn right (15) degrees\n        end\n        set y to (-1)\n        point in direction (90)\n        clear graphic effects\n        set [しばしまてい！ v] to [0]\n        wait () seconds\n    end\n    if <touching color (#013750)?> then\n        set [y vel v] to [-20]\n    end\n    if <touching (flag v)?> then\n        broadcast (next v)\n        wait until <not <touching (flag v)?>>\n    end\n    if <touching (spikes v)?> then\n        broadcast (respawn v)\n    end\nend\n\nwhen I receive [green flag v]\npoint in direction (90)\n\nwhen I receive [end v]\nshow\n\n@Flag\n\nwhen flag clicked\nhide\ngo to [back v] layer\npoint in direction (90)\nSet hack size to [250]\nforever\n    go to (platform v)\n    point in direction ([direction v] of [platform v])\nend\n\ndefine Set hack size to (size)\nswitch costume to (size hack v)\nset size to (size) %\nswitch costume to (stage1 v)\n\nwhen I receive [end v]\nshow\nwait (7) seconds\n\n@Player\n\nwhen I receive [lag free cam set v]\nset x to (cam x)\n\nwhen I receive [end v]\nclear graphic effects\nforever\n    set x to (cam x)\n    if <touching (spikes v)?> then\n        set [m v] to [f]\n        create clone of (_myself_ v)\n        repeat (10)\n            change [brightness v] effect by (5)\n        end\n        broadcast (respawn v) and wait\n    end\nend\n\nwhen I receive [respawn v]\npoint in direction (90)\nrepeat (10)\n    change [brightness v] effect by (-5)\nend\nset [m v] to [t]\nclear graphic effects\n\nwhen I receive [end v]\nforever\n    if <not <key (any v) pressed?>> then\n        switch costume to (normal v)\n    end\n    if <[0] > (y vel)> then\n        switch costume to (up v)\n    end\n    if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <(r) = [1]>> then\n        switch costume to (right v)\n    end\n    if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <(l) = [1]>> then\n        switch costume to (left v)\n    end\n    if <<key (w v) pressed?> or <<key (up arrow v) pressed?> or <(u) = [1]>>> then\n        switch costume to (up v)\n    end\n    if <<<<key (w v) pressed?> and <key (d v) pressed?>> or <<key (up arrow v) pressed?> and <key (right arrow v) pressed?>>> or <<(u) = [1]> and <(r) = [1]>>> then\n        switch costume to (up and right v)\n    end\n    if <<<<key (w v) pressed?> and <key (a v) pressed?>> or <<key (up arrow v) pressed?> and <key (left arrow v) pressed?>>> or <<(l) = [1]> and <(u) = [1]>>> then\n        switch costume to (up and left v)\n    end\nend\n\nwhen flag clicked\nset [m v] to [f]\npoint in direction (90)\nbroadcast (respawn v)\n\nwhen I receive [end v]\nwait until <<([direction v] of [land 360 v]) < [155]> and <([direction v] of [land 360 v]) > [140]>>\nbroadcast (win v) and wait\nstop [other scripts in sprite v]\n\nwhen I start as a clone\nrepeat (10)\n    change y by (5)\n    turn left (1) degrees\n    change [ghost v] effect by (10)\n    set [brightness v] effect to (0)\nend\ndelete this clone\n\nwhen I receive [end v]\nforever\n    change y by (-2)\n    change y by (2)\nend\n\nwhen flag clicked\nif <(me?) = [0]> then\n    change [☁ views v] by (1)\n    set [me? v] to [1]\nend\n\nwhen I receive [end v]\nshow\nset volume to (5) %\nstart sound [yt1s v]\n\nwhen flag clicked\nhide\n\nwait (1) seconds\n\nwhen flag clicked\n\nset volume to (20) %\n\nforever\n\n@Sun\n\nwhen flag clicked\nhide\ngo to x: (-5) y: (-25)\nset size to (100) %\nset [sun suze v] to [100]\nforever\n    change size by ([cos v] of (Sun Suze) )\n    change [sun suze v] by (7)\nend\n\nshow\n\nwhen I receive [intro finish v]\n\nwhen I receive [end v]\nshow\n\n@intro\n\ndefine Intro\nset [intro: sprite1: i v] to [0]\nset [intro: sprite1: i2 v] to [0]\nset [sequence v] to [1]\nhide\nset volume to (15) %\ngo to x: (0) y: (0)\nset size to (100) %\nclear graphic effects\npoint in direction (90)\nstart sound [Intro v]\ngo to x: (0) y: (-150)\nrepeat (5)\n    switch costume to (bar v)\n    create clone of (_myself_ v)\n    change y by (75)\n    wait (0.01) seconds\nend\ngo to x: (0) y: (0)\nwait until <(Sequence) = [2]>\nswitch costume to (dot v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [3]>\nswitch costume to (cover v)\ncreate clone of (_myself_ v)\nwait (.01) seconds\nswitch costume to (s v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [6]>\nswitch costume to (name v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [7]>\nswitch costume to (bg v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [9]>\nswitch costume to (logo v)\ncreate clone of (_myself_ v)\nParticles\nwait (1) seconds\nset [sequence v] to [10]\nwait until <(Sequence) = [11]>\nswitch costume to (slide v)\ncreate clone of (_myself_ v)\nwait until <(Sequence) = [12]>\nbroadcast (End v) and wait\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    show\n    point in direction (90)\n    go to x: (0) y: (y position)\n    set size to (0) %\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) / (5))\n    end\n    wait (.15) seconds\n    repeat until <(round (size)) = [20]>\n        change [ghost v] effect by (5)\n        change size by (((20) - (size)) / (5))\n        turn right (5) degrees\n    end\n    set [sequence v] to [2]\n    delete this clone\nend\nif <<(costume [number v]) = [2]> or <(costume [number v]) = [3]>> then\n    show\n    switch costume to (dot v)\n    set [ghost v] effect to (100)\n    go to x: (0) y: (50)\n    point in direction (90)\n    set [intro: sprite1: i v] to [16]\n    repeat (40)\n        if <not <(y position) < [0]>> then\n            change [ghost v] effect by (-10)\n            change y by (intro: Sprite1: i)\n            change [intro: sprite1: i v] by (-1.5)\n        end\n    end\n    set y to (0)\n    repeat (15)\n        switch costume to (size hack v)\n        set size to (intro: Sprite1: i) %\n        change size by (((1950) - (size)) / (4))\n        set [intro: sprite1: i v] to (size)\n        switch costume to (dot v)\n    end\n    set [sequence v] to [3]\n    wait until <(Sequence) = [5]>\n    repeat (15)\n        change [ghost v] effect by (7)\n        change size by (((50) - (size)) / (3))\n    end\n    set [sequence v] to [6]\n    delete this clone\nend\nif <(costume [number v]) = [4]> then\n    show\n    set [ghost v] effect to (100)\n    go to x: (0) y: (500)\n    set size to (0) %\n    point in direction (0)\n    repeat (20)\n        change [ghost v] effect by (-10)\n        change y by (((0) - (y position)) / (4))\n        change size by (((100) - (size)) / (4))\n        turn right (((90) - (direction)) / (4)) degrees\n    end\n    wait until <(Sequence) = [4]>\n    set [intro: sprite1: i v] to [15]\n    set [intro: sprite1: i2 v] to [20]\n    repeat (17)\n        change size by (-1)\n        turn right ((x position) / (40)) degrees\n        change [ghost v] effect by (7)\n        change [intro: sprite1: i v] by (-1.5)\n        change y by (intro: Sprite1: i)\n        change x by (intro: Sprite1: i2)\n        set [intro: sprite1: i2 v] to ((intro: Sprite1: i2) * (.9))\n    end\n    delete this clone\nend\nif <(costume [number v]) = [5]> then\n    show\n    set [ghost v] effect to (100)\n    go to x: (0) y: (-500)\n    set size to (200) %\n    point in direction (180)\n    repeat (20)\n        change [ghost v] effect by (-10)\n        change y by (((0) - (y position)) / (4))\n        change size by (((100) - (size)) / (4))\n        turn right (((90) - (direction)) / (4)) degrees\n    end\n    set [sequence v] to [4]\n    set [intro: sprite1: i v] to [15]\n    set [intro: sprite1: i2 v] to [-20]\n    repeat (17)\n        change size by (-2)\n        turn right ((x position) / (40)) degrees\n        change [ghost v] effect by (7)\n        change [intro: sprite1: i v] by (-1.5)\n        change y by (intro: Sprite1: i)\n        change x by (intro: Sprite1: i2)\n        set [intro: sprite1: i2 v] to ((intro: Sprite1: i2) * (.9))\n    end\n    set [sequence v] to [5]\n    delete this clone\nend\nif <(costume [number v]) = [6]> then\n    show\n    set [ghost v] effect to (100)\n    go to x: (0) y: (-500)\n    set size to (0) %\n    point in direction (90)\n    repeat (20)\n        change [ghost v] effect by (-10)\n        change y by (((0) - (y position)) / (4))\n        change size by (((100) - (size)) / (4))\n    end\n    set [sequence v] to [7]\n    wait until <(Sequence) = [8]>\n    delete this clone\nend\nif <(costume [number v]) = [7]> then\n    show\n    clear graphic effects\n    go to x: (0) y: (0)\n    point in direction (90)\n    go to [front v] layer\n    show\n    repeat (3)\n        set [brightness v] effect to (0)\n        wait (0.04) seconds\n        set [brightness v] effect to (100)\n        wait (0.04) seconds\n    end\n    set [sequence v] to [8]\n    set [brightness v] effect to (-100)\n    wait (.1) seconds\n    clear graphic effects\n    set [sequence v] to [9]\n    delete this clone\nend\nif <(costume [number v]) = [8]> then\n    show\n    go to [front v] layer\n    set size to (0) %\n    repeat until <(Sequence) = [10]>\n        set [intro: sprite1: i v] to (((intro: Sprite1: i) * (.8)) + (((120) - (size)) / (5)))\n        change size by (intro: Sprite1: i)\n        point in direction ((90) + ((3) * ([cos v] of ((timer) * (180)) )))\n        set y to ((10) * ([cos v] of (((timer) - (1)) * (200)) ))\n    end\n    repeat until <(round (x position)) = [220]>\n        change size by (((50) - (size)) / (5))\n        change [ghost v] effect by (10)\n        point in direction ((90) + ((3) * ([cos v] of ((timer) * (180)) )))\n        set y to ((10) * ([cos v] of (((timer) - (1)) * (200)) ))\n        change x by (((220) - (x position)) / (5))\n    end\n    set [sequence v] to [11]\n    delete this clone\nend\nif <(costume [number v]) = [9]> then\n    show\n    set size to (pick random (80) to (200)) %\n    set [intro: sprite1: i v] to (pick random (-20) to (20))\n    set [intro: sprite1: i2 v] to (pick random (10) to (20))\n    set [ghost v] effect to (pick random (10) to (30))\n    set [brightness v] effect to (pick random (-20) to (20))\n    repeat until <touching (_edge_ v)?>\n        change [ghost v] effect by (1)\n        change x by (intro: Sprite1: i)\n        change y by (intro: Sprite1: i2)\n        change [intro: sprite1: i2 v] by (-3)\n    end\n    delete this clone\nend\nif <(costume [number v]) = [10]> then\n    show\n    go to x: (-500) y: (-500)\n    repeat (20)\n        go to x: ((x position) / (1.2)) y: ((y position) / (1.2))\n    end\n    wait (.8) seconds\n    repeat (20)\n        change y by (((360) - (y position)) / (5))\n        change [ghost v] effect by (5)\n    end\n    set [sequence v] to [12]\n    delete this clone\nend\n\ndefine Particles\ngo [backward v] (1) layers\nswitch costume to (particle v)\nrepeat (15)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [intro trigger v]\nIntro\n\nwhen flag clicked\nwait (1) seconds\n\nstop [all v]\n\nwhen flag clicked\nbroadcast (Intro Trigger v)\n\nwhen flag clicked\n\nset volume to (60) %\n\nwhen flag clicked\n\nset volume to (70) %\n\n@transition\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\nset [しばしまてい！ v] to [1]\nset [acceleration v] to [0]\nshow\nif <([costume # v] of [platform v]) = [1]> then\n    switch costume to ( v)\nend\nif <([costume # v] of [platform v]) = [2]> then\n    switch costume to (コスチューム2 v)\nend\ngo to [front v] layer\ngo to x: (0) y: (400)\nset [acceleration v] to [-28]\nrepeat until <(y position) < [300]>\n    go to [front v] layer\n    change [acceleration v] by (1)\n    change y by (acceleration)\nend\nrepeat until <[345] < (y position)>\n    go to [front v] layer\n    change [acceleration v] by (1)\n    change y by (acceleration)\nend\nbroadcast (ｄ v)\nhide\nwait (1) seconds\nset [しばしまてい！ v] to [0]\n\nwhen I receive [next v]\nif <(costume [number v]) = [2]> then\n    wait (0.5) seconds\n    show\n    go to x: (0) y: (0)\n    stop [all v]\nend\n\nwhen flag clicked\nset [しばしまてい！ v] to [0]\n\nwhen flag clicked\nbroadcast (Green flag v)\nrepeat (2)\n    broadcast (Green flag v)\nend\n\nstart sound [ding sound v]\n\n