Sky || A platformer || Mobile friendly

Instructions: Use wasd mobile controls or arrows.\nAll levels are 100% possible. The level where it says "where is it?" is possible.\nSequel is here! https://scratch.mit.edu/projects/491169605/\nI will try to answer most questions and comments but i cant promise. 

@Stage\n\n@Sprite2\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset [brightness v] effect to (pick random (1) to (99))\nset [color v] effect to (pick random (10) to (99))\ngo to [back v] layer\nshow\nset size to (50) %\ngo to x: (221) y: (pick random (171) to (-171))\nrepeat until <(x position) < [-250]>\n    move (10) steps\nend\ndelete this clone\n\nwhen I receive [end v]\nforever\n    create clone of (_myself_ v)\n    wait (pick random (5) to (7)) seconds\nend\n\nshow\n\n@Intro\n\ndefine Size: (size) Speed: (speed)\nrepeat until <(round (size)) = (size)>\n    change size by (((size) - (size)) / (speed))\nend\n\ndefine Clone: Name: (id) how many times: (count)\nset [\[intro\] 🎥 clone id v] to (id)\nrepeat (count)\n    create clone of (_myself_ v)\nend\nset [\[intro\] 🎥 clone id v] to []\n\ndefine GlideX (x) GlideY (y) Direction: (direction) Speed: (speed)\nrepeat until <<(round (x position)) = (x)> and <<(round (y position)) = (y)> and <(round (direction)) = (direction)>>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    turn right (((direction) - (direction)) / (speed)) degrees\nend\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [F]> then\n    switch costume to (fill v)\n    go to [back v] layer\n    point in direction (105)\n    go to x: (1000) y: (-1000)\n    show\n    GlideX [0] GlideY [240] Direction: [105] Speed: [5]\n    repeat (15)\n        switch costume to ( v)\n        change size by ((size) * (0.2))\n        turn left (2) degrees\n        switch costume to (fill v)\n    end\n    delete this clone\nend\n\ndefine Intro\nReset\nstart sound [it's different - Pokemon Ü \(feat v]\nrepeat (5)\n    change [brightness v] effect by (3)\n    set [\[intro\] 🎥 clone id v] to [F]\n    create clone of (_myself_ v)\n    wait (.08) seconds\n    change y by (-100)\nend\nwait (.8) seconds\nClone: Name: [F2] how many times: [1]\nwait (.5) seconds\nParticles1\nwait (2) seconds\nParticles2\nwait (.5) seconds\nParticles1\n\ndefine Reset\nhide\nclear graphic effects\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nset [\[intro\] 🎥i v] to [0]\nset [\[intro\] 🎥 clone id v] to []\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [F2]> then\n    switch costume to (fill2 v)\n    show\n    point in direction (90)\n    go to x: (1000) y: (0)\n    GlideX [0] GlideY [0] Direction: [90] Speed: [3]\n    Clone: Name: [N] how many times: [1]\n    wait (1) seconds\n    set [brightness v] effect to (-100)\n    wait (1.5) seconds\n    set [brightness v] effect to (0)\n    wait (1.3) seconds\n    set [brightness v] effect to (-100)\n    wait (2) seconds\n    Clone: Name: [End] how many times: [1]\n    delete this clone\nend\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [N]> then\n    switch costume to (ts142\(black\) v)\n    go to [front v] layer\n    show\n    point in direction (90)\n    go to x: (0) y: (0)\n    set size to (0) %\n    Size: [100] Speed: [5]\n    wait (.3) seconds\n    switch costume to (ts142\(white\) v)\n    Particles2\n    set size to (150) %\n    Size: [100] Speed: [5]\n    wait (.1) seconds\n    set size to (150) %\n    Size: [100] Speed: [5]\n    switch costume to (ts142\(black\) v)\n    set size to (150) %\n    Size: [100] Speed: [5]\n    wait (.5) seconds\n    switch costume to (ts142\(white\) v)\n    Particles2\n    set size to (150) %\n    Size: [100] Speed: [5]\n    wait (1) seconds\n    flash\n    Clone: Name: [L] how many times: [1]\n    hide\nend\n\ndefine Particles1\nrepeat (75)\n    Clone: Name: [P\(B\)] how many times: [1]\nend\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [P\(B\)]> then\n    show\n    switch costume to (particle1 v)\n    clear graphic effects\n    set [brightness v] effect to (pick random (5) to (10))\n    set size to (pick random (50) to (100)) %\n    go to x: (0) y: (0)\n    set [\[intro\] 🎥i v] to (pick random (-15) to (15))\n    point in direction (pick random (180) to (-180))\n    repeat (5)\n        set [\[intro\] 🎥i v] to ((\[INTRO\] 🎥i) * (.99))\n        move (\[INTRO\] 🎥i) steps\n        change [ghost v] effect by (5)\n    end\n    repeat until <touching (_edge_ v)?>\n        move (\[INTRO\] 🎥i) steps\n        set [\[intro\] 🎥i v] to ((\[INTRO\] 🎥i) * (.99))\n        change size by (-2)\n        change [ghost v] effect by (pick random (1) to (3))\n    end\n    delete this clone\nend\n\ndefine Particles2\nrepeat (75)\n    Clone: Name: [P\(W\)] how many times: [1]\nend\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [P\(W\)]> then\n    show\n    switch costume to (particle2 v)\n    clear graphic effects\n    set [brightness v] effect to (pick random (5) to (10))\n    set size to (pick random (50) to (100)) %\n    go to x: (0) y: (0)\n    set [\[intro\] 🎥i v] to (pick random (-15) to (15))\n    point in direction (pick random (180) to (-180))\n    repeat (5)\n        set [\[intro\] 🎥i v] to ((\[INTRO\] 🎥i) * (.99))\n        move (\[INTRO\] 🎥i) steps\n        change [ghost v] effect by (5)\n    end\n    repeat until <touching (_edge_ v)?>\n        move (\[INTRO\] 🎥i) steps\n        set [\[intro\] 🎥i v] to ((\[INTRO\] 🎥i) * (.99))\n        change size by (-2)\n        change [ghost v] effect by (pick random (1) to (3))\n    end\n    delete this clone\nend\n\ndefine flash\nClone: Name: [📸F] how many times: [1]\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [📸F]> then\n    go to [front v] layer\n    show\n    switch costume to (flash v)\n    set [brightness v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [L]> then\n    go to [front v] layer\n    show\n    switch costume to (logo v)\n    set size to (150) %\n    Size: [100] Speed: [5]\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(\[INTRO\] 🎥 clone id) = [End]> then\n    show\n    switch costume to (end v)\n    set [brightness v] effect to (-100)\n    set size to (100) %\n    repeat (20)\n        change [ghost v] effect by (5)\n        change x by (-30)\n    end\n    broadcast (End v)\n    delete this clone\nend\n\nwhen flag clicked\nIntro\n\nforever\nend\n\nplay sound [it's different - Pokemon Ü \(feat v] until done\n\n@Sprite3\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [end v]\nshow\n\nwhen I receive [nxt lvl v]\nnext costume\n\n@Sprite1\n\nwhen flag clicked\nforever\n    if <(y position) < [-145]> then\n        go to x: (-160) y: (-60)\n    end\nend\n\ndefine Motion Gravity: (gravity) Jump Height: (jump height) Side Movement Speed: (side movement speed) Friction: (friction) Slope: (slope)\nchange [yvel v] by (gravity)\nchange y by (yvel)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (yvel) ) / (yvel)) * (-1))\n    end\n    set [yvel v] to (<<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <(([abs v] of (yvel) ) / (yvel)) = [-1]>> * (jump height))\nend\nset [my variable v] to (((my variable) + ((<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> * ((side movement speed) * (-1))) + (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> * (side movement speed)))) * (friction))\nchange x by (my variable)\nset [slope v] to [0]\nrepeat until <<(Slope) = ((slope) * (-1))> or <not <touching (level v)?>>>\n    change y by (1)\n    change [slope v] by (-1)\nend\nif <touching (level v)?> then\n    change y by (Slope)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (my variable) ) / (my variable)) * (-1))\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [yvel v] to (jump height)\n        if <(my variable) > [0]> then\n            set [my variable v] to [-8]\n        else\n            set [my variable v] to [8]\n        end\n    else\n        set [my variable v] to [0]\n    end\nend\n\nwhen flag clicked\nhide\ngo to x: (-160) y: (-60)\nset [my variable v] to [0]\nset [yvel v] to [0]\nforever\n    Motion Gravity: [-.5] Jump Height: [10] Side Movement Speed: [1.5] Friction: [.8] Slope: [10]\n    go to [front v] layer\n    if on edge, bounce\n    point in direction (90)\nend\n\nwhen I start as a clone\nset size to (100) %\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I receive [end v]\nshow\ngo to x: (-207) y: (-49)\n\nwhen flag clicked\nforever\n    if <touching (sprite3 v)?> then\n        broadcast (Nxt lvl v)\n        go to x: (-160) y: (-60)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (dead v)?> then\n        go to x: (-160) y: (-60)\n    end\nend\n\nwhen I receive [end v]\nforever\n    play sound [Fade v] until done\nend\n\n@Level\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [nxt lvl v]\nnext costume\n\nwhen I receive [end v]\nshow\n\n@DEAD\n\nwhen I receive [nxt lvl v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [end v]\nshow\n\n@Rare code to make less laggy\n\n