Invisible platformer (mobile friendly)
@Stage\n\nwhen flag clicked\nforever\n    play sound [Vexento - Winter v] until done\n    play sound [song v] until done\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    hide\n    go to x: (240) y: (pick random (180) to (-80))\n    create clone of (_myself_ v)\n    wait (0.3) seconds\nend\n\nwhen I start as a clone\nset [color v] effect to (pick random (200) to (-200))\ngo to [back v] layer\nset [ghost v] effect to (50)\nshow\nrepeat until <(x position) < [-240]>\n    change [ghost v] effect by (1)\n    turn right (15) degrees\n    change x by (-10)\n    move (1) steps\nend\ndelete this clone\n\n@ground\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume2 v)\nswitch backdrop to (backdrop1 v)\nset [level/ v] to [8]\nforever\n    set [level v] to (costume [number v])\n    if <(costume [number v]) = ((level/) - (1))> then\n        switch backdrop to (backdrop2 v)\n    end\n    if <(costume [number v]) > (level/)> then\n        switch backdrop to (backdrop3 v)\n    end\nend\n\nwhen I receive [next level v]\nnext costume\nwait (0.1) seconds\n\n@player\n\nwhen flag clicked\nset [y v] to [0]\nset [x v] to [0]\ngo to x: (-220) y: (-50)\nforever\n    go to [front v] layer\n    set [ghost v] effect to (87)\n    set [x v] to ((x) * (0.8))\n    change x by (x)\n    change y by (2)\n    set size to (85) %\n    if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n        change y by (1)\n        if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n            change y by (1)\n            if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                change y by (1)\n                if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                    change y by (1)\n                    if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                        change y by (1)\n                        if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                            change y by (1)\n                            if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                                change y by (1)\n                                if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                                    change y by (1)\n                                    if  then\n                                        change y by (1)\n                                        if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                                            change y by (1)\n                                            if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n                                                change x by ((x) * (-1))\n                                                change y by (1)\n                                                change y by (-11)\n                                                if <<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> then\n                                                    if <(x) > [5]> then\n                                                        set [x v] to [-10]\n                                                    else\n                                                        set [x v] to [10]\n                                                    end\n                                                    set [y v] to [10]\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (-2)\n    change [y v] by (-1)\n    change y by (y)\n    if <<touching color (#22119e)?> or <touching color (#a15512)?>> then\n        set [x v] to [0]\n        set [y v] to [0]\n        set [pixelate v] effect to (100)\n        repeat (10)\n            change [pixelate v] effect by (10)\n        end\n        go to x: (-220) y: (-50)\n    else\n        set [pixelate v] effect to (0)\n    end\n    if <<touching color (#1bb800)?> or <touching color (#00b5b8)?>> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    set size to (100) %\n    if <touching color (#00b5b8)?> then\n        change [x v] by ((x) * (0.19))\n    end\n    if <touching color (#b300b8)?> then\n        set [y v] to [20]\n    end\n    change y by (-1)\n    if <<<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> and <<touching color (#1bb800)?> or <touching color (#00b5b8)?>>> then\n        set [y v] to [11]\n    end\n    change y by (1)\n    if <([costume # v] of [ground v]) > [13]> then\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n        change [x v] by (2)\n    end\n    if <<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        change [x v] by (-2)\n    end\n    if <<<touching (_edge_ v)?> and <(x position) > [225]>> and <not <([costume # v] of [ground v]) = [14]>>> then\n        set [y v] to [0]\n        set [x v] to [0]\n        go to x: (-220) y: (-50)\n        broadcast (next level v)\n    end\n    if <<key (s v) pressed?> and <not <([costume # v] of [ground v]) = [14]>>> then\n        set [y v] to [0]\n        set [x v] to [0]\n        go to x: (-220) y: (-50)\n        broadcast (next level v)\n        wait until <not <key (s v) pressed?>>\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (10) layers\nforever\n    show\n    go to x: (([x position v] of [player v]) * (-0.2)) y: (([y position v] of [player v]) * (-0.2))\n    if <([costume # v] of [ground v]) > ((level/) + (1))> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Sprite5\n\nwhen flag clicked\nshow\nforever\n    go to [back v] layer\n    go to x: (([x position v] of [player v]) * (-0.1)) y: (([y position v] of [player v]) * (-0.1))\n    if <([costume # v] of [ground v]) > (level/)> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nset [ghost v] effect to (0)\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n
Use arrow keys to move\n\nMobile friendly\n\nPress s to skip level \n\ndon't touch the dark part of the walls