Spot the Difference (Platformer Edition)

Instructions: Arrow Keys or mouse to move.\nI would like feedback and maybe a heart and star =D\nAll levels are 100% possible!

@Stage\n\nwhen flag clicked\nforever\n    play sound [bensound-littleidea v] until done\nend\n\n@Thumbnail\n\nwhen I receive [thumbnail show v]\nshow\ngo to [front v] layer\nwait (2) seconds\nhide\n\nwhen I receive [play v]\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\nwhen flag clicked\nhide\n\n@Level\n\nwhen I receive [play v]\nswitch costume to (1 v)\n\nwhen I receive [open door 1 v]\nnext costume\n\nwhen I receive [open door 2 v]\nnext costume\n\nwhen I receive [open door 3 v]\nnext costume\n\nwhen I receive [green v]\nnext costume\n\nwhen flag clicked\nshow\n\n@Obstacles\n\nwhen I receive [open door 1 v]\nshow\nnext costume\n\nwhen I receive [open door 2 v]\nshow\nnext costume\n\nwhen I receive [open door 3 v]\nshow\nnext costume\n\nwhen I receive [green v]\nhide\nnext costume\n\nwhen I receive [play v]\nswitch costume to (1 v)\nhide\n\n@Player\n\ndefine Place Player: (x) (y) Set Size To: (size)\ngo to x: (x) y: (y)\nset size to (size) %\n\ndefine Gravity, Platform Detection, Physics....\nforever\n    change [y v] by (-1)\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 (-1)\n    end\n    if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> 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 (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > [0]>>> then\n            set [y v] to [11]\n            if <(x) > [0]> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (level v)?> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> and <touching (level v)?>> then\n        set [y v] to [11]\n    end\n    change y by (1)\n    if <touching (obstacles v)?> then\n        broadcast (play v)\n    end\n    if <touching (green v)?> then\n        broadcast (Green v)\n    end\nend\n\nwhen I receive [play v]\nset [level v] to [1]\nshow\nPlace Player: [-200] [-122] Set Size To: [40]\nhide variable [y v]\nhide variable [x v]\nset [y v] to [0]\nset [x v] to [0]\nforever\n    Gravity, Platform Detection, Physics....\nend\n\nwhen I receive [play v]\nforever\n    if <touching (trampoline v)?> then\n        set [y v] to [22]\n    end\nend\n\nwhen I receive [play v]\nswitch costume to (1 v)\nset [deaths v] to [0]\n\nwhen flag clicked\nhide\n\nwhen I receive [next planet v]\nnext costume\n\nwhen I receive [play v]\nforever\n    if <touching (next planet v)?> then\n        next costume\n    end\nend\n\nwhen flag clicked\nbroadcast (play v)\n\nwhen flag clicked\nforever\n    if <<touching (door 1 v)?> and <key (space v) pressed?>> then\n        broadcast (Open Door 1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (door 2 v)?> and <key (space v) pressed?>> then\n        broadcast (Open Door 2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (door 3 v)?> and <key (space v) pressed?>> then\n        broadcast (Open Door 3 v)\n    end\nend\n\nwhen flag clicked\nset [spike # v] to [0]\n\nwhen I receive [open door 1 v]\ngo to x: (-137) y: (21)\n\nwhen I receive [open door 2 v]\ngo to x: (-13) y: (90)\n\nwhen I receive [open door 3 v]\ngo to x: (122) y: (17)\n\nwhen I receive [green v]\ngo to x: (-199) y: (-114)\n\nwhen I receive [green v]\nchange [level v] by (1)\n\nwhen I receive [play v]\nset [level v] to [1]\n\n@Door 1\n\nwhen I receive [open door 1 v]\nbroadcast (Cue Da Spikes v)\nhide\n\nwhen I receive [open door 2 v]\nhide\n\nwhen I receive [open door 3 v]\nhide\n\nwhen I receive [play v]\nshow\n\nwhen I receive [green v]\nshow\n\nwhen I receive [end v]\nhide\n\n@Door 2\n\nwhen I receive [open door 2 v]\nhide\n\nwhen I receive [open door 2 v]\nbroadcast (Cue Da Spikes v)\nhide\n\nwhen I receive [open door 1 v]\nhide\n\nwhen I receive [open door 3 v]\nhide\n\nwhen I receive [play v]\nshow\n\nwhen I receive [green v]\nshow\n\nwhen I receive [end v]\nhide\n\n@Door 3\n\nwhen I receive [open door 3 v]\nbroadcast (Cue Da Spikes v)\nhide\n\nwhen I receive [open door 2 v]\nhide\n\nwhen I receive [open door 1 v]\nhide\n\nwhen I receive [play v]\nshow\n\nwhen I receive [green v]\nshow\n\nwhen I receive [end v]\nhide\n\n@Green\n\nwhen I receive [open door 1 v]\nshow\nnext costume\n\nwhen I receive [open door 2 v]\nshow\nnext costume\n\nwhen I receive [open door 3 v]\nshow\nnext costume\n\nwhen I receive [green v]\nhide\n\nwhen I receive [play v]\nswitch costume to (1 v)\nhide\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [11]> then\n        broadcast (END v)\n    end\nend\n\nwhen flag clicked\nshow\n\n