Desert Platformer [Mobile Friendly] Updated !
@Stage\n\nwhen stage clicked\nbroadcast (para-fin v)\n\n@P.L.A.Y.E.R\n\nwhen flag clicked\nset [y-velocity v] to [0]\nset [x-velocity v] to [0]\nforever\n    Platform [11.5] [-2] [0.7] [3]\nend\n\ndefine Platform (jump height) (gravity) (friction) (running speed)\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(x position) < (mouse x)>>> then\n    point in direction (90)\n    change [x-velocity v] by (running speed)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    point in direction (90)\n    change [x-velocity v] by ((running speed) * (-1))\nend\nset [x-velocity v] to ((X-velocity) * (friction))\nchange x by (X-velocity)\nif <touching (ground v)?> then\n    set [sprite2: slope v] to [0]\n    repeat until <<(Sprite2: Slope) = [8]> or <not <touching (ground v)?>>>\n        change [sprite2: slope v] by (1)\n        change y by (1)\n    end\nend\nif <touching (ground v)?> then\n    change y by ((Sprite2: Slope) * (-1))\n    repeat ([ceiling v] of ([abs v] of (X-velocity) ) )\n        if <touching (ground v)?> then\n            change x by ((([abs v] of (X-velocity) ) / (X-velocity)) * (-1))\n        end\n    end\n    set [x-velocity v] to [0]\nend\nchange y by (Y-velocity)\nif <touching (ground v)?> then\n    repeat ([ceiling v] of ([abs v] of (Y-velocity) ) )\n        if <touching (ground v)?> then\n            change y by ((([abs v] of (Y-velocity) ) / (Y-velocity)) * (-1))\n        end\n    end\n    if <<(([abs v] of (Y-velocity) ) / (Y-velocity)) = [-1]> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n        set [y-velocity v] to (jump height)\n    else\n        set [y-velocity v] to [0]\n    end\nelse\n    if <touching (trampoline v)?> then\n        set [y-velocity v] to [20]\n    end\n    change [y-velocity v] by (-1)\nend\n\nwhen flag clicked\nforever\n    wait (0.005) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nrepeat (15)\n    change size by (-1)\n    change [ghost v] effect by (8)\nend\ndelete this clone\n\nwhen flag clicked\ngo to x: (-200) y: (-131)\nswitch costume to (player v)\nshow\n\nwhen flag clicked\nforever\n    if <touching (d a n g e r v)?> then\n        go to x: (-200) y: (-131)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (goal v)?> then\n        go to x: (-200) y: (-131)\n        broadcast (FINI v)\n    end\nend\n\nwhen [space v] key pressed\nswitch costume to (red v)\nforever\n    wait (0.01) seconds\n    change [color v] effect by (10)\nend\n\nwhen [r v] key pressed\ngo to x: (-200) y: (-131)\n\nwhen I receive [fini v]\ngo to x: (-200) y: (-130)\nset [x-velocity v] to [0]\nset [y-velocity v] to [0]\n\nwhen flag clicked\ngo to [front v] layer\n\n@Ground\n\nwhen flag clicked\ngo to [front v] layer\nshow\nswitch costume to (costume16 v)\n\nwhen flag clicked\nshow\ngo to x: (2) y: (-31)\n\nwhen I receive [fini v]\nnext costume\n\nwhen this sprite clicked\nbroadcast (para-fin v)\n\nwhen this sprite clicked\nbroadcast (para-fin v)\n\nwhen this sprite clicked\nbroadcast (para-fin v)\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [14]> then\n        broadcast (skip off v)\n    end\nend\n\n@Trampoline\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [fini v]\nnext costume\n\nwhen flag clicked\nshow\n\n@D A N G E R\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [fini v]\nnext costume\n\nwhen flag clicked\nshow\n\nwhen flag clicked\ngo to [front v] layer\n\n@Neon Light\n\nwhen flag clicked\ngo to x: (36) y: (28)\nshow\ngo to [front v] layer\n\nwhen I receive [fineshed v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\n@Skip\n\nwhen this sprite clicked\nbroadcast (FINI v)\n\nwhen flag clicked\ngo to x: (36) y: (28)\ngo to [front v] layer\nshow\n\nwhen flag clicked\nforever\n    change [color v] effect by (6)\nend\n\nwhen I receive [skip off v]\nhide\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Player Light\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\nforever\n    go to [back v] layer\n    go to (p.l.a.y.e.r v)\nend\n\nwhen [space v] key pressed\nswitch costume to (costume2 v)\nforever\n    wait (0.01) seconds\n    change [color v] effect by (10)\nend\n\nwhen flag clicked\ngo to [front v] layer\n\n@cloud\n\nwhen flag clicked\nshow\ngo to x: (-300) y: (pick random (30) to (110))\nset size to (pick random (15) to (35)) %\nglide (10) secs to x: (315) y: (pick random (30) to (110))\nhide\nforever\n    create clone of (_myself_ v)\n    wait (5) seconds\nend\n\nwhen I start as a clone\nshow\ngo to x: (-300) y: (pick random (30) to (110))\nset size to (pick random (15) to (35)) %\nglide (10) secs to x: (315) y: (pick random (30) to (110))\nhide\ndelete this clone\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (20) to (30)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@sand\n\nwhen I start as a clone\nshow\nset [y velocity ~ rain v] to (pick random (-2) to (-5))\nStart Particle\ngo to (random position v)\nset y to (180)\nchange y by (Y Velocity ~ Rain)\nrepeat until <(y position) < [-179]>\n    change y by (Y Velocity ~ Rain)\n    change [y velocity ~ rain v] by (-1.5)\nend\ndelete this clone\n\ndefine Start Particle\ngo to [back v] layer\nset size to (100) %\nset [ghost v] effect to (70)\nshow\n\nwhen flag clicked\nwait (0.2) seconds\nshow\nrepeat (50)\n    create clone of (_myself_ v)\n    wait (pick random (0.0) to (0.15)) seconds\nend\nforever\n    create clone of (_myself_ v)\n    wait (pick random (0.0) to (0.03)) seconds\nend\n\nwhen I receive [rain off v]\ngo to x: (0) y: (10000)\nhide\n\nwhen I receive [rain on v]\nshow\n\nwhen flag clicked\nplay sound [rain :D v] until done\n\nwhen flag clicked\ngo to [back v] layer\n\n@paramètre\n\nwhen flag clicked\nshow\ngo to x: (204) y: (138)\nset size to (15) %\n\nwhen this sprite clicked\nbroadcast (paramètres v)\n\n@Sprite2\n\nwhen flag clicked\nshow\nhide\ngo to x: (191) y: (54)\nset [ghost v] effect to (65)\ngo to [back v] layer\n\nwhen I receive [paramètres v]\nshow\n\nwhen I receive [para-fin v]\nhide\n\nwhen flag clicked\nshow\nhide\ngo to x: (191) y: (54)\nset [ghost v] effect to (65)\ngo to [back v] layer\n\nwhen I receive [paramètres v]\nshow\n\n@ Paramètres ~ Dossier//Sounds Effect On/Off\n\nwhen I receive [para-fin v]\nhide\n\nwhen this sprite clicked\nstart sound [Low Whoosh v]\nnext costume\n\nwhen I receive [paramètres v]\nshow\ngo to [front v] layer\ngo to x: (-51) y: (-35)\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (1 v)\nhide\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [1]> then\n        broadcast (rain on v)\n    else\n        broadcast (rain off v)\n    end\nend\n\n@paramètres\n\nwhen flag clicked\nshow\nhide\ngo to x: (191) y: (54)\n\nwhen I receive [paramètres v]\nshow\n\nwhen I receive [para-fin v]\nhide\n\nwhen flag clicked\nshow\nhide\ngo to x: (188) y: (54)\n\nwhen I receive [paramètres v]\nshow\n\n@Giga\n\nwhen flag clicked\ngo to [back v] layer\ngo [forward v] (1) layers\nshow\n\n@ Paramètres ~ Dossier//Sounds Effect On/Off2\n\nwhen I receive [para-fin v]\nhide\n\nwhen this sprite clicked\nstart sound [Low Whoosh v]\nnext costume\n\nwhen I receive [paramètres v]\nshow\ngo to [front v] layer\ngo to x: (-44) y: (-64)\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (1 v)\nhide\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [1]> then\n        broadcast (music on v)\n    else\n        broadcast (music off v)\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nshow\n\nwhen flag clicked\nforever\n    go to x: (55) y: (15)\n    if <touching (p.l.a.y.e.r v)?> then\n        broadcast (FINI v)\n        wait (1) seconds\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nstart sound [TheFatRat  JJD - Prelude VIP Edit.mp3 v]\n\nwhen I receive [music on v]\nchange volume by (100)\n\nwhen I receive [music off v]\nchange volume by (-100)\n\n@Desert Platformer\n\nwhen flag clicked\nhide\n\n@sand2\n\nwhen I start as a clone\nshow\nset [y velocity ~ rain v] to (pick random (-2) to (-5))\nStart Particle\ngo to (random position v)\nset y to (180)\nchange y by (Y Velocity ~ Rain)\nrepeat until <(y position) < [-179]>\n    change y by (Y Velocity ~ Rain)\n    change [y velocity ~ rain v] by (-1.5)\nend\ndelete this clone\n\ndefine Start Particle\ngo to [back v] layer\nset size to (100) %\nset [ghost v] effect to (70)\nshow\n\nwhen flag clicked\nwait (0.2) seconds\nshow\nrepeat (50)\n    create clone of (_myself_ v)\n    wait (pick random (0.0) to (0.15)) seconds\nend\nforever\n    create clone of (_myself_ v)\n    wait (pick random (0.0) to (0.03)) seconds\nend\n\nwhen I receive [rain off v]\ngo to x: (0) y: (10000)\nhide\n\nwhen I receive [rain on v]\nshow\n\nwhen flag clicked\ngo to [back v] layer\n\n@sand3\n\nwhen I start as a clone\nshow\nset [y velocity ~ rain v] to (pick random (-2) to (-5))\nStart Particle\ngo to (random position v)\nset y to (180)\nchange y by (Y Velocity ~ Rain)\nrepeat until <(y position) < [-179]>\n    change y by (Y Velocity ~ Rain)\n    change [y velocity ~ rain v] by (-1.5)\nend\ndelete this clone\n\ndefine Start Particle\ngo to [back v] layer\nset size to (100) %\nset [ghost v] effect to (70)\nshow\n\nwhen flag clicked\nwait (0.2) seconds\nshow\nrepeat (50)\n    create clone of (_myself_ v)\n    wait (pick random (0.0) to (0.15)) seconds\nend\nforever\n    create clone of (_myself_ v)\n    wait (pick random (0.0) to (0.03)) seconds\nend\n\nwhen I receive [rain off v]\ngo to x: (0) y: (10000)\nhide\n\nwhen I receive [rain on v]\nshow\n\nwhen flag clicked\ngo to [back v] layer\n\n@sand4\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (8))\ngo to [front v] layer\nclear graphic effects\nset [ghost v] effect to (pick random (40) to (85))\nset size to (pick random (50) to (100)) %\ngo to x: (pick random (240) to (-240)) y: (180)\npoint in direction (90)\nshow\nglide (pick random (1) to (9)) secs to x: (pick random (240) to (-240)) y: (-180)\nhide\ndelete this clone\n\nwhen flag clicked\nhide\ngo [forward v] (999) layers\nforever\n    wait (pick random (0) to (0.001)) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I receive [rain off v]\ngo to x: (0) y: (10000)\nhide\n\nwhen I receive [rain on v]\nshow\n\nwhen flag clicked\ngo to [back v] layer\n\n