EarthQuest (Mobile) ★ A Platformer

Instructions: EarthQuest (Mobile) ★ A Platformer \n═══════════════════════════════════\nEarthQuest is a short, informational platformer about global warming and its effects on our planet. This is the new mobile-friendly version!\nPlease, spread awareness about climate change and take action against it!\n═══════════════════════════════════\n【 DESKTOP VERSION 】https://scratch.mit.edu/projects/497863849/\n═══════════════════════════════════\nInstructions:\n✦ Use joystick to move right and left\n✦ Get to the right side of the screen for the next level\n✦ Don't fall into the void\n✦ Avoid purple "pollution"\n✦ Beat all the levels and try not to die\n═══════════════════════════════════\n✦ Comment your death score down below!\n✦ Feel free to remix!\n✦ Leave a ♡ and a ☆

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nset [ghost v] effect to (100)\n\nwhen I receive [message1 v]\nrepeat (4)\n    next backdrop\n    wait (0.01) seconds\nend\n\nwhen flag clicked\nstop all sounds\n\nwhen backdrop switches to [backdrop19 v]\nwait (7) seconds\nreset timer\n\nwhen I receive [homescreen v]\nset volume to (100) %\nforever\n    play sound [yt1s v] until done\nend\n\nwhen I receive [homescreen v]\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nclear graphic effects\n\nwhen [timer v] > (0)\nset volume to (0) %\n\n@earth\n\nwhen flag clicked\nhide\n\nwhen I receive [homescreen v]\nswitch costume to (costume1 v)\ngo to [front v] layer\nhide variable [y v]\nhide variable [x v]\nset [y v] to [0]\nset [x v] to [0]\ngo to x: (-215) y: (10)\nshow\nforever\n    if <([x position v] of [joystick v]) > [178]> then\n        change [x v] by (1)\n    end\n    if <([x position v] of [joystick v]) < [178]> then\n        change [x v] by (-1)\n    end\n    set [x v] to ((X) * (0.9))\n    change x by (X)\n    if <touching color (#23ff00)?> then\n        go to [front v] layer\n        switch costume to (costume1 v)\n        change y by (1)\n        if <touching color (#23ff00)?> then\n            change y by (1)\n            if <touching color (#23ff00)?> then\n                change y by (1)\n                if <touching color (#23ff00)?> then\n                    change y by (1)\n                    if <touching color (#23ff00)?> then\n                        change x by ((X) * (-1))\n                        change y by (-4)\n                        if <([y position v] of [joystick v]) > [-100]> then\n                            if <(X) > [0]> then\n                                set [x v] to [-5]\n                            else\n                                set [x v] to [5]\n                            end\n                            set [y v] to [10]\n                        else\n                            set [y v] to [0]\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-1)\n    change y by (Y)\n    if <touching color (#23ff00)?> then\n        go to [front v] layer\n        switch costume to (costume1 v)\n        change y by ((Y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#23ff00)?> then\n        go to [front v] layer\n        switch costume to (costume1 v)\n        if <([y position v] of [joystick v]) > [-100]> then\n            set [y v] to [15]\n        end\n    end\n    change y by (1)\n    if <(x position) > [238]> then\n        switch backdrop to (next backdrop v)\n        go to x: (-215) y: (10)\n    end\n    if <(y position) < [-160]> then\n        go to x: (-215) y: (10)\n        broadcast (death v)\n        change [deaths v] by (1)\n    end\n    if <touching color (#d343ff)?> then\n        go to x: (-215) y: (10)\n        broadcast (death v)\n        change [deaths v] by (1)\n    end\n    if <touching color (#33dcff)?> then\n        switch costume to (costume2 v)\n        if <([y position v] of [joystick v]) > [-100]> then\n            if <(X) > [0]> then\n                set [x v] to [-5]\n            else\n                set [x v] to [5]\n            end\n            set [y v] to [10]\n        else\n            set [y v] to [0]\n        end\n        if <([x position v] of [joystick v]) > [178]> then\n            change [x v] by (1)\n        end\n        if <([x position v] of [joystick v]) < [178]> then\n            change [x v] by (-1)\n        end\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    change y by (JoystickY)\nend\n\nwhen [timer v] > (0)\nhide\n\n@deer\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen backdrop switches to [backdrop6 v]\ngo to x: (135) y: (-76)\nshow\nforever\n    switch costume to (costume1 v)\n    wait (2) seconds\n    switch costume to (costume2 v)\n    wait (0.1) seconds\n    switch costume to (costume3 v)\n    wait (0.1) seconds\n    switch costume to (costume2 v)\n    wait (0.1) seconds\nend\n\nwhen backdrop switches to [backdrop1 v]\nhide\n\nwhen backdrop switches to [backdrop7 v]\nhide\n\nwhen [timer v] > (0)\nhide\n\n@words/butterfly\n\nwhen flag clicked\nset [ghost v] effect to (0)\nset size to (100) %\nclear graphic effects\nhide\n\nwhen backdrop switches to [backdrop11 v]\npoint in direction (90)\ngo to x: (23) y: (-64)\nswitch costume to (costume1 v)\nshow\nwait (10) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait (1) seconds\nswitch costume to (costume2 v)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nclear graphic effects\nwait (1) seconds\nbroadcast (message1 v)\n\nwhen backdrop switches to [backdrop16 v]\nhide\n\nwhen backdrop switches to [backdrop18 v]\nrepeat (10)\n    create clone of (_myself_ v)\nend\ngo to (random position v)\nswitch costume to (costume3 v)\nset size to (60) %\nshow\nforever\n    switch costume to (costume4 v)\n    wait (0) seconds\n    switch costume to (costume3 v)\n    wait (0) seconds\nend\n\nwhen backdrop switches to [backdrop18 v]\ngo to (random position v)\nswitch costume to (costume3 v)\nshow\nforever\n    glide (3) secs to (random position v)\n    turn right (5) degrees\n    turn left (5) degrees\nend\n\nwhen I start as a clone\nset [color v] effect to (pick random (1) to (500))\nswitch costume to (costume3 v)\nset size to (60) %\nshow\nforever\n    glide (3) secs to (random position v)\n    turn right (5) degrees\n    turn left (5) degrees\nend\n\ngo to (random position v)\n\nwhen I start as a clone\nforever\n    switch costume to (costume4 v)\n    wait (0) seconds\n    switch costume to (costume3 v)\n    wait (0) seconds\nend\n\nwhen backdrop switches to [backdrop19 v]\nhide\ndelete this clone\n\nwhen [timer v] > (0)\nhide\n\n@turbines\n\nwhen flag clicked\nset [ghost v] effect to (100)\nhide\nswitch costume to (costume1 v)\n\nwhen backdrop switches to [backdrop12 v]\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nclear graphic effects\n\nwhen backdrop switches to [backdrop12 v]\nforever\n    next costume\n    wait (0.05) seconds\nend\n\nwhen backdrop switches to [backdrop16 v]\nhide\n\nwhen [timer v] > (0)\nhide\n\n@people\n\nwhen flag clicked\ngo to x: (256) y: (80)\nswitch costume to (costume1 v)\nhide\n\nwhen backdrop switches to [backdrop16 v]\nshow\nwait (1) seconds\nrepeat (12)\n    next costume\n    wait (0.1) seconds\nend\n\nwhen backdrop switches to [backdrop17 v]\nhide\n\nwhen [timer v] > (0)\nhide\n\n@ones\n\nwhen flag clicked\ngo to x: (215) y: (148)\nswitch costume to (0 v)\nhide\n\nwhen I receive [death v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(deaths) = [100]> then\n        hide\n    end\nend\n\nwhen [timer v] > (0)\nhide\n\nwhen I receive [homescreen v]\nshow\n\n@plant\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [backdrop6 v]\ngo to x: (-141) y: (-114)\nshow\nforever\n    switch costume to (costume1 v)\n    wait (0.3) seconds\n    switch costume to (costume2 v)\n    wait (0.3) seconds\n    switch costume to (costume3 v)\n    wait (0.3) seconds\n    switch costume to (costume2 v)\n    wait (0.3) seconds\nend\n\nwhen backdrop switches to [backdrop1 v]\nhide\n\nwhen backdrop switches to [backdrop7 v]\nhide\n\nwhen [timer v] > (0)\nhide\n\n@tens\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(deaths) = [10]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nswitch costume to (0 v)\n\nwhen flag clicked\nforever\n    if <(deaths) = [20]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [30]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [40]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [50]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [60]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [70]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [80]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [90]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) > [100]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(deaths) = [100]> then\n        next costume\n        stop [this script v]\n    end\nend\n\nwhen I receive [homescreen v]\nshow\nset [deaths v] to [0]\n\nwhen flag clicked\nforever\n    if <(deaths) = [0]> then\n        switch costume to (0 v)\n        stop [this script v]\n    end\nend\n\nwhen [timer v] > (0)\nhide\n\n@homescreen\n\nwhen flag clicked\ngo to [front v] layer\nhide\nforever\n    reset timer\nend\n\nwhen [timer v] > (0)\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nclear graphic effects\n\n@berd\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume5 v)\ngo to [back v] layer\nshow\n\nwhen backdrop switches to [backdrop19 v]\ngo to x: (385) y: (69)\nshow\nforever\n    switch costume to (costume1 v)\n    wait (0.2) seconds\n    switch costume to (costume2 v)\n    wait (0.2) seconds\n    switch costume to (costume3 v)\n    wait (0.2) seconds\n    switch costume to (costume4 v)\n    wait (0.2) seconds\nend\n\nwhen backdrop switches to [backdrop19 v]\nforever\n    show\n    go to x: (385) y: (69)\n    glide (2) secs to x: (-195) y: (14)\n    hide\n    wait (10) seconds\nend\n\nwhen I receive [homescreen v]\nhide\n\nwhen [timer v] > (0)\nhide\n\n@logo\n\nwhen flag clicked\nshow\nclear graphic effects\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nrepeat (9)\n    wait (0.002) seconds\n    next costume\nend\nwait (0.0002) seconds\nrepeat (10)\n    wait (0.0002) seconds\n    next costume\nend\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait (2) seconds\nbroadcast (homescreen v)\n\nwhen flag clicked\nwait (0.2) seconds\nplay sound [High Whoosh v] until done\nwait (0.4) seconds\nplay sound [High Whoosh v] until done\nwait (0) seconds\nplay sound [High Whoosh v] until done\n\nwhen [timer v] > (0)\nhide\n\n@Joystick\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nswitch costume to (circle v)\n\nwhen I receive [homescreen v]\ngo to x: (178) y: (-112)\nset size to (50) %\nshow\nset [ghost v] effect to (50)\nset [josticky v] to [0]\nset [joystickx v] to [0]\nset [jx v] to (x position)\nset [jy v] to (y position)\ncreate clone of (_myself_ v)\nswitch costume to (joystick v)\nforever\n    if <mouse down?> then\n        if <touching (mouse-pointer v)?> then\n            repeat until <not <mouse down?>>\n                go to x: (JX) y: (JY)\n                point towards (mouse-pointer v)\n                if <(distance to [mouse-pointer v]) > ((80) * ((size) * (0.01)))> then\n                    move ((80) * ((size) * (0.01))) steps\n                else\n                    move (distance to [mouse-pointer v]) steps\n                end\n                set [joystickx v] to (((x position) - (JX)) / ((80) * ((size) * (0.01))))\n                set [josticky v] to (((y position) - (JY)) / ((80) * ((size) * (0.01))))\n                go to [front v] layer\n            end\n        end\n    end\n    go to x: (JX) y: (JY)\n    set [joystickx v] to [0]\n    set [josticky v] to [0]\n    go to [front v] layer\nend\n\nwhen I receive [homescreen v]\nforever\n    go to [front v] layer\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat until <not <mouse down?>>\n            set [ghost v] effect to (0)\n        end\n    end\n    set [ghost v] effect to (50)\nend\n\nwhen [timer v] > (0)\nhide\n\n