Around the world a mobile friendly platformer


@Stage\n\nwhen I receive [done intro v]\nforever\n    play sound [Unlimited v] until done\nend\n\n@welcome\n\nwhen flag clicked\nhide variable [☁ could v]\nchange [☁ could v] by (1)\n\n@level\n\nwhen flag clicked\ngo to [front v] layer\nset [level v] to [1]\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\nwhen flag clicked\nhide\n\nwhen I receive [done intro v]\nshow\n\n@intro\n\ndefine Smooth glide to x: (x:) y: (y) size: (size) direction (direction) smoothness: (speed)\nrepeat until <<(round (x position)) = (x:)> and <<(round (y position)) = (y)> and <<(round (size)) = (size)> and <(round (direction)) = (direction)>>>>\n    change x by (((x:) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change size by (((size) - (size)) / (speed))\n    turn right (((direction) - (direction)) / (speed)) degrees\nend\n\ndefine Cool turning!\nrepeat (60)\n    point in direction ((([tan v] of (turn) ) * (13)) + (90))\n    change y by (([sin v] of (turn) ) * (3))\n    change [turn v] by (5)\nend\n\nwhen flag clicked\nhide\nset [clone id v] to [1]\nrepeat (4)\n    create clone of (_myself_ v)\n    change [clone id v] by (1)\nend\n\nwhen I start as a clone\nif <(clone ID) = [1]> then\n    switch costume to (marshy v)\n    show\n    go to [front v] layer\n    go to x: (-280) y: (0)\n    set size to (50) %\n    Smooth glide to x: [0] y: [0] size: [100] direction [90] smoothness: [10]\n    Cool turning!\n    point in direction (90)\nend\nif <(clone ID) = [2]> then\n    wait (4) seconds\n    switch costume to (mallo v)\n    show\n    go to [front v] layer\n    go to x: (0) y: (200)\n    Smooth glide to x: [0] y: [-150] size: [100] direction [90] smoothness: [10]\nend\nif <(clone ID) = [3]> then\n    switch costume to (backround v)\n    show\n    go to [back v] layer\n    set [xposition v] to [480]\n    set [xposition v] to [0]\n    go to x: (Xposition) y: (ypostion)\n    forever\n        change [xposition v] by (-10)\n        go to x: (Xposition) y: (ypostion)\n    end\nend\nif <(clone ID) = [4]> then\n    wait (6.32) seconds\n    switch costume to (end v)\n    show\n    go to [front v] layer\n    go to x: (0) y: (431)\n    repeat (60)\n        change y by ((y position) / (-5))\n    end\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\nend\n\nwhen I receive [done intro v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nplay sound [5 sec Intro Music v] until done\nplay sound [Bite v] until done\n\nwhen flag clicked\nwait (8.5) seconds\nbroadcast (Done intro v)\nhide\n\nwhen flag clicked\ngo to [front v] layer\n\n@player\n\ndefine Tick\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [xv v] by (1)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>> then\n    change [xv v] by (-1)\nend\nchange x by (Xv)\nset [xv v] to ((Xv) * (0.9))\nif <touching (level v)?> then\n    change y by (1)\n    if <touching (level v)?> then\n        change y by (1)\n        if <touching (level v)?> then\n            change y by (1)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change x by ((Xv) * (-1))\n                        change y by (-5)\n                        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                            if <(Xv) > [0]> then\n                                set [xv v] to [-10]\n                            else\n                                set [xv v] to [10]\n                            end\n                            set [yv v] to [15]\n                        else\n                            set [xv v] to [0]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange [yv v] by (-1)\nchange y by (Yv)\nif <touching (level v)?> then\n    change y by ((Yv) * (-1))\n    set [yv v] to [0]\nend\nchange y by (-1)\nif <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n    if <touching (level v)?> then\n        set [yv v] to [13]\n    end\nend\nchange y by (1)\nif <(x position) > [240]> then\n    go to x spawn y spawn\n    change [level v] by (1)\nend\n\nwhen I receive [tick v]\nTick\n\nwhen flag clicked\nhide\n\nwhen I receive [done intro v]\ngo to [front v] layer\nshow\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    broadcast (tick v)\nend\n\ndefine go to x spawn y spawn\ngo to x: (-198) y: (-101)\n\nwhen flag clicked\ngo to x spawn y spawn\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nforever\n    if <touching color (#ffd166)?> then\n        set [yv v] to [20]\n        start sound [Big Boing v]\n    end\n    if <touching color (#ff6666)?> then\n        go to x spawn y spawn\n        start sound [Hurt v]\n    end\n    if <touching (sprite1 v)?> then\n        go to x spawn y spawn\n        start sound [Hurt v]\n    end\nend\n\n@backround\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    go to x: (([x position v] of [player v]) / (10)) y: (([y position v] of [player v]) / (10))\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [done intro v]\nshow\n\n@death\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [level v] to [1]\nforever\n    switch costume to (level)\nend\n\n@Sprite1\n\ndefine Go to X: (x) Y: (y) shoot with speed (speed)\nshow\ngo to x: (x) y: (y)\nrepeat until <touching (_edge_ v)?>\n    change x by (speed)\n    if <touching (_edge_ v)?> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [5]> then\n        repeat until <not <(level) = [5]>>\n            show\n            go to [front v] layer\n            Go to X: [200] Y: [0] shoot with speed [-5]\n        end\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\nwhen flag clicked\nhide\nforever\n    if <not <(level) = [5]>> then\n        hide\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\nend\n\n