Reverse (A platformer) Mobile Friendy

Instructions: The green flag stops the game click the stop sign to start. (Disclaimer you have to press the green flag first) \n\nArrow keys to move. controls are reversed

@Stage\n\nwhen flag clicked\nstop all sounds\nswitch backdrop to (backdrop13 v)\n\nwhen I receive [start v]\nforever\n    switch backdrop to (LEVEL)\nend\n\nwhen I receive [start v]\nforever\n    play sound [Vexento - Arcade.mp3 v] until done\nend\n\n@Player\n\ndefine Costume\nswitch costume to (hitbox v)\nif <(Jump/Fall) < [3]> then\n    if <(Frame) = [0]> then\n        switch costume to (idle v)\n    else\n        switch costume to ([floor v] of ((2) + ((Frame) mod (6))) )\n    end\nelse\n    if <(Yv) > [0]> then\n        switch costume to (jump v)\n    else\n        switch costume to (fall v)\n    end\nend\n\nwhen flag clicked\nhide\n\ndefine Platforming Physics\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [xv v] by (2)\n    point in direction (90)\nend\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [xv v] by (-2)\n    point in direction (-90)\nend\nset [xv v] to ((Xv) * (0.8))\nchange x by (Xv)\nif <touching (ground v)?> then\n    change y by (1)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change x by ((0) - (Xv))\n                    change y by (-4)\n                end\n            end\n        end\n    end\nend\nchange [jump/fall v] by (1)\nchange [yv v] by (-1)\nif <touching (water v)?> then\n    set [yv v] to ((Yv) * (0.5))\n    change [yv v] by (-2)\n    if <key (down arrow v) pressed?> then\n        change [yv v] by (10)\n    end\nelse\n    change [yv v] by (-1)\nend\nchange y by (Yv)\nif <touching (ground v)?> then\n    change y by ((0) - (Yv))\n    set [jump/fall v] to [0]\n    set [yv v] to [0]\nend\nchange y by (-1)\nif <<<not <touching color (#4d0000)?>> and <touching (ground v)?>> and <<key (down arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [-50]>>>> then\n    set [yv v] to [25]\nend\nchange y by (1)\nif <touching (spikes v)?> then\n    Fade\nend\nif <touching (trampoline v)?> then\n    change y by ((0) - (Yv))\n    change x by ((0) - (Xv))\n    set [yv v] to [17]\n    if <<key (down arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [-50]>>> then\n        set [yv v] to [12]\n    end\nend\nif <(x position) < [-230]> then\n    broadcast (Slide v)\n    change [level v] by (1)\n    Fade\nend\nif <(y position) < [-150]> then\n    Fade\nend\nif <touching (lava v)?> then\n    Fade\nend\n\nwhen flag clicked\n\ndefine Fade\nrepeat (5)\n    change [ghost v] effect by (25)\nend\ngo to x: (200) y: (75)\nset [yv v] to [0]\nset [xv v] to [0]\nwait (0.05) seconds\nrepeat (5)\n    change [ghost v] effect by (-25)\nend\n\nwhen I receive [reset v]\nFade\n\nchange y by (Yv)\n\nwhen I receive [start v]\nset [frames v] to [4]\nset [frame v] to [0]\nset [level v] to [1]\ngo to x: (200) y: (75)\nset [yv v] to [0]\nset [xv v] to [0]\nforever\n    if <<not <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> and <not <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>>>> then\n        set [frame v] to [0]\n    else\n        change [frame v] by ((2) / (Frames))\n    end\n    Costume\nend\n\nwhen I receive [start v]\nshow\nforever\n    Platforming Physics\nend\n\n@Ground\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nset [level v] to [1]\nswitch costume to (costume1 v)\nforever\n    switch costume to (LEVEL)\nend\n\nwhen I start as a clone\nshow\nforever\n    set [ghost v] effect to (50)\n    go to [back v] layer\n    switch costume to (LEVEL)\n    set y to ((([sin v] of (((TIMER) + (me)) * (300)) ) * (3)) - ((me) * (2)))\nend\n\nwhen flag clicked\nhide\nforever\n    hide\nend\n\nwhen I receive [start v]\nclear graphic effects\ngo to x: (0) y: (0)\nset [me v] to [1]\nrepeat (2)\n    create clone of (_myself_ v)\n    change y by (-5)\n    change [brightness v] effect by (-10)\n    change [me v] by (1)\nend\n\n@Water\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\nforever\n    set [ghost v] effect to (50)\n    go to [back v] layer\n    switch costume to (LEVEL)\n    set y to ((([sin v] of (((TIMER) + (me)) * (300)) ) * (3)) - ((me) * (2)))\nend\n\nwhen flag clicked\nforever\n    hide\nend\n\nwhen I receive [start v]\nclear graphic effects\ngo to x: (0) y: (0)\nset [me v] to [1]\nrepeat (2)\n    create clone of (_myself_ v)\n    change y by (-5)\n    change [brightness v] effect by (-10)\n    change [me v] by (1)\nend\n\n@LAVA\n\nwhen I receive [start v]\nshow\nset [level v] to [1]\nswitch costume to (costume1 v)\nforever\n    switch costume to (LEVEL)\n    go to [back v] layer\nend\n\nwhen flag clicked\nhide\n\n@Thumbnail\n\nwhen flag clicked\n\nwhen I receive [start v]\nset [timer v] to [0]\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    change [timer v] by (0.05)\nend\n\n@stop sign clicked\n\nwhen flag clicked\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.1)\nbroadcast (Start v)\n\nwhen I receive [start v]\nforever\n    reset timer\nend\n\n