Dreamland || Scrolling Detailed Platformer! 

Instructions: Welcome to my first ever scrolling platformer Dreamland!\n\n————————HOW TO PLAY---------------------------\n\nUse arrow keys to move and collect all the coins to get in the portal to the next level!\nTrampolines are Mushrooms!\n\nPlease love and fave for more epic scrolling platformers in the future!\n\n————————----CREDITS------------------------------\n\nThanks to @TheFunkyPanda for the trees and bushes!\nThanks to @TimMcTest for some (A few) of the flowers\nThanks to @spazestudios for the mushrooms!\nAnd thanks to @griffpatch for the engine!\n \nCheck them out!\n\nAlso check out @Pancham106 because he is my brother!\n\n\n———Famous Scratchers loves and faves----------------\n\nOMG!\n@NeelDaPeel (Loved)\n@spazestudios (Loved and Faved)\n@AUMSUMTHEGREATHULK (loved and faved)\n\n\n\n——————————Check List---------------------------\n\n1 fave: Completed\n10 faves: Completed\n25 faves: Completed\n50 faves: Completed\n75 faves: Completed\n100 faves: Completed\n150 faves: Completed\n200 faves: Completed\n500 faves:\n750 faves:\n1000 faves:\n2000 faves:\n5000 faves:\n\n\n\n#Games #game #games #Platformer #Platformers #all #jump #GAMES #GAME #tree #Trending #portal #amazing #fun #Fun #Super #Duper #GeometryDash #Hi #Dreamland #Dreamlands #Awesome #AWESOME #COOL #Cool #cool #… 

@Stage\n\nwhen [m v] key pressed\nset [mouse v] to (join ((mouse x) + (SCROLL X)) (join [, ] ((mouse y) + (SCROLL Y))))\nshow variable [mouse v]\n\nwhen flag clicked\nforever\n    play sound [Plugged \(post mastering\) v] until done\nend\n\nwhen flag clicked\nforever\n    play sound [Sounds of the Boreal Forest v] until done\nend\n\n@  Player  Scroll\n\nwhen flag clicked\nbroadcast (Green Flag v) and wait\nbroadcast (Play Game v) and wait\n\nwhen I receive [green flag v]\nshow\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Set Up v) and wait\n    Game On\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\ndefine Game On\nset [x v] to [0]\nset [y v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [sy v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset size to (120) %\nset [ghost v] effect to (0)\nshow\n\ndefine Tick\nif <not <<key (right arrow v) pressed?> and <<key (left arrow v) pressed?> and <key (up arrow v) pressed?>>>> then\n    switch costume to (player_center v)\nend\nif <touching (trampoline v)?> then\n    set [sy v] to [25]\n    start sound [Big Boing v]\nend\nif <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>> then\n    if <(In air) < [4]> then\n        set [sy v] to [16]\n        switch costume to (player_up v)\n    end\nend\nchange [sy v] by (-2)\nif <key (down arrow v) pressed?> then\n    switch costume to (player_center v)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    Change Player x by [-8]\n    switch costume to (player_left v)\nend\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>> then\n    Change Player x by [8]\n    switch costume to (player_right v)\nend\nChange Player y by (sy)\nPosition\nTest - Die\nset [scroll x v] to (x)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\n\ndefine Change Player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Change Player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (17)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-17)\n    repeat until <not <touching (platforms v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Game - Die\nset [exit v] to []\nrepeat (2)\n    hide\n    wait (0.1) seconds\n    show\n    wait (0.1) seconds\nend\nhide\nwait (0.5) seconds\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Test - Die\nif <touching (danger v)?> then\n    set [exit v] to [die]\nend\n\ndefine Game - Win\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (2)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nchange [level v] by (1)\nwait (1) seconds\nhide\n\n@Platforms\n\nwhen I receive [green flag v]\nshow\n\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [set up v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x! [500] yr [0]\n    Clone at x! [430] yr [0]\n    Clone at x! [600] yr [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 1 v)\n        Clone at x! [200] yr [251]\n        Clone at x! [500] yr [262]\n        Clone at x! [700] yr [100]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (level 3 1 v)\n            Clone at x! [530] yr [0]\n            Clone at x! [700] yr [0]\n            Clone at x! [700] yr [100]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (level 4 1 v)\n                Clone at x! [610] yr [320]\n                Clone at x! [500] yr [-8]\n            else\n                if <(LEVEL) = [5]> then\n                    switch costume to (level 5 1 v)\n                end\n            end\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x! (x) yr (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@Collectables\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (  player  scroll v)?> then\n    start sound [Coin v]\n    change [collected v] by (1)\n    if <(COLLECTED) = (COLLECTED MAX)> then\n        broadcast (Open Portal v)\n    end\n    delete this clone\nend\n\nwhen I receive [set up v]\nhide\nset [collected max v] to [0]\nset [collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (dot v)\n    Clone at x! [50] yr [0]\n    Clone at x! [535] yr [-11]\n    Clone at x! [993] yr [99]\n    Clone at x! [1537] yr [74]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (dot v)\n        Clone at x! [82] yr [-11]\n        Clone at x! [-208] yr [320]\n        Clone at x! [647] yr [447]\n        Clone at x! [1303] yr [410]\n        Clone at x! [1731] yr [617]\n        Clone at x! [1375] yr [679]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (dot v)\n            Clone at x! [845] yr [-84]\n            Clone at x! [1067] yr [-97]\n            Clone at x! [1116] yr [399]\n            Clone at x! [1734] yr [253]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (dot v)\n                Clone at x! [-54] yr [133]\n                Clone at x! [-204] yr [334]\n                Clone at x! [909] yr [306]\n            else\n                if <(LEVEL) = [5]> then\n                    switch costume to (dot v)\n                end\n            end\n        end\n    end\nend\nset [x v] to [-999999]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x! (x) yr (y)\nset [x v] to (x)\nset [y v] to (y)\nchange [collected max v] by (1)\ncreate clone of (_myself_ v)\n\n@Danger\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [set up v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x! [500] yr [0]\n    Clone at x! [430] yr [0]\n    Clone at x! [600] yr [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 1 v)\n        Clone at x! [200] yr [251]\n        Clone at x! [500] yr [100]\n        Clone at x! [490] yr [100]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (level 3 1 v)\n            Clone at x! [530] yr [0]\n            Clone at x! [700] yr [0]\n            Clone at x! [700] yr [100]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (level 4 1 v)\n                Clone at x! [620] yr [320]\n                Clone at x! [500] yr [0]\n            else\n                if <(LEVEL) = [5]> then\n                    switch costume to (level 5 1 v)\n                end\n            end\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x! (x) yr (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@Exit\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <<(costume [number v]) = [2]> and <touching (  player  scroll v)?>> then\n    set [exit v] to [win]\nend\n\nwhen I receive [set up v]\nhide\nset [collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (closed v)\n    Clone at x! [1745] yr [51]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (closed v)\n        Clone at x! [1936] yr [852]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (closed v)\n            Clone at x! [2157] yr [379]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (closed v)\n                Clone at x! [1379] yr [321]\n            else\n                if <(LEVEL) = [5]> then\n                    switch costume to (closed v)\n                    Clone at x! [9999] yr [9999]\n                end\n            end\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x! (x) yr (y)\nset [x v] to (x)\nset [y v] to (y)\n\nwhen I receive [open portal v]\nswitch costume to (open v)\n\n@Stuff\n\nwhen I receive [green flag v]\nshow\ngo to [back v] layer\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [set up v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x! [500] yr [0]\n    Clone at x! [430] yr [0]\n    Clone at x! [600] yr [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 1 v)\n        Clone at x! [200] yr [251]\n        Clone at x! [500] yr [262]\n        Clone at x! [700] yr [100]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (level 3 1 v)\n            Clone at x! [530] yr [0]\n            Clone at x! [530] yr [0]\n            Clone at x! [600] yr [100]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (level 4 1 v)\n                Clone at x! [610] yr [320]\n                Clone at x! [500] yr [-8]\n            else\n                if <(LEVEL) = [5]> then\n                    switch costume to (level 5 1 v)\n                end\n            end\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x! (x) yr (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@Trampoline\n\nwhen I receive [green flag v]\nshow\ngo to [back v] layer\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [set up v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x! [500] yr [0]\n    Clone at x! [430] yr [0]\n    Clone at x! [600] yr [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 1 v)\n        Clone at x! [200] yr [251]\n        Clone at x! [200] yr [251]\n        Clone at x! [700] yr [0]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (level 3 1 v)\n            Clone at x! [530] yr [0]\n            Clone at x! [700] yr [0]\n            Clone at x! [400] yr [0]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (level 4 1 v)\n                Clone at x! [620] yr [320]\n                Clone at x! [500] yr [-8]\n            else\n                if <(LEVEL) = [5]> then\n                    switch costume to (level 5 1 v)\n                end\n            end\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x! (x) yr (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@ThumbNail\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\n\n