Space - platformer #2

Instructions: IM WORKING ON #3\ntip: jumping on bouncy cusions is more efficient  than touhing them!\nall levels possible!\narrow keys to move!\nyou guys wanted a sequel, so here it is! Now featuring: mars!\n25 loves and i'll make a #3!\nwhy is there lava on mars?\nReported bugs fixed!

@Stage\n\n@Sprite1\n\nwhen flag clicked\ngo to x: (-85) y: (0)\nset [camx v] to [130]\nset [camy v] to [0]\nset [speedx v] to [0]\nset [speedy v] to [0]\npoint in direction (90)\nforever\n    point in direction (speedx)\n    set [ghost v] effect to (0)\n    change x by (speedx)\n    change y by (speedy)\n    change [speedx v] by ((-1) * (<key (left arrow v) pressed?> - <key (right arrow v) pressed?>))\n    set [speedx v] to ((speedx) * (0.8))\n    if <touching (level v)?> then\n        change y by ((0) - (speedy))\n        set [speedy v] to [0]\n        if <touching (level v)?> then\n            change y by (1)\n            switch costume to (costume1 v)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change y by (1)\n                        if <touching (level v)?> then\n                            change y by (1)\n                            if <touching (level v)?> then\n                                change y by (-2)\n                                set [speedx v] to ((0) - (speedx))\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [speedy v] by (-0.4)\n    change y by (-1)\n    if <touching (level v)?> then\n        change [speedy v] by (<key (up arrow v) pressed?> * (12))\n    end\n    change y by (1)\n    if <touching (spike v)?> then\n        go to x: (-199) y: (0)\n    end\n    if <[240] < (x position)> then\n        set x to (-210)\n        broadcast (nnext v)\n    end\n    if <(cost) = [1]> then\n        go to x: (-240) y: (0)\n        set [cost v] to [0]\n    end\n    change [camx v] by ((0) - ((x position) / (10)))\n    change [camy v] by ((y position) / (10))\n    broadcast (next v)\n    if <[null] < (camy)> then\n        repeat (300)\n            change y by (10)\n        end\n        set [speedx v] to [0]\n        set [speedy v] to [0]\n        set [camx v] to [-130]\n        set [camy v] to [900]\n    end\n    turn right (0) degrees\n    if <touching color (#b90000)?> then\n        change [speedy v] by (10)\n    end\nend\n\n@Level\n\nwhen I receive [next v]\ngo to x: (0) y: (0)\nswitch costume to (cpstume)\n\ndefine new block at () ()\ngo to x: ((camx) + ()) y: ((camy) + ())\n\nwhen flag clicked\nset [cpstume v] to [1]\nswitch costume to (costume2 v)\n\nwhen I start as a clone\nforever\n    if <(cpstume) = [2]> then\n        switch costume to (costume2 v)\n        new block at [5600] [0]\n    end\nend\n\nwhen I receive [nnext v]\nset [camx v] to [0]\nchange [cpstume v] by (1)\n\n@thumb\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\n@spike\n\nwhen I receive [next v]\ngo to x: (0) y: (0)\nswitch costume to (cpstume)\n\ndefine new block at () ()\ngo to x: ((camx) + ()) y: ((camy) + ())\n\n@spike2\n\nwhen I receive [next v]\ngo to x: (0) y: (0)\nswitch costume to (cpstume)\n\ndefine new block at () ()\ngo to x: ((camx) + ()) y: ((camy) + ())\n\n