Fun Facts, a Platformer- 3 (v 1.6)

Instructions: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=\nPlease look at my newest game!  https://scratch.mit.edu/projects/195247925/\n-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_\n\nFun Facts, a Platformer- 3-  \n\nAn entry for @snow-cannon 's contest\n\nPress space to go to the menu (it will pause your game).  There, you can change the color of your cube by pressing the arrows, skip songs, and skip levels.  Use the arrow keys to move.  Press the 'r' key to restart if you get stuck (even though I've already fixed that bug).  Touch green to teleport.  Wall jump by running into a wall while pressing the up key.  Do not touch red.  Use blue to jump high.  Get to the right side of the screen to proceed to the next level.\n\nAny glitches?  Comment below!\n\nCredits:\nMusic:  Vexento,TheFatRat\n100%  @appleapple22\n\nLink to the best remix:    https://scratch.mit.edu/projects/194515526/

@Stage\n\nwhen flag clicked\nif <(([costume # v] of [level v]) mod (2)) = [0]> then\n    switch backdrop to (backdrop1 v)\nelse\n    switch backdrop to (backdrop2 v)\nend\n\nwhen I receive [message1 v]\nif <(([costume # v] of [level v]) mod (2)) = [0]> then\n    switch backdrop to (backdrop1 v)\nelse\n    switch backdrop to (backdrop2 v)\nend\n\nwhen flag clicked\nset [song v] to (pick random (1) to (7))\nforever\n    play sound (Song) until done\n    change [song v] by (1)\nend\n\nwhen I receive [message2 v]\nstop all sounds\nstop [other scripts in stage v]\nforever\n    play sound (Song) until done\n    change [song v] by (1)\nend\n\n@Character\n\nwhen flag clicked\nset [costume# v] to [1]\nshow\nset size to (190) %\nforever\n    if <(Pause) = [No]> then\n        point in direction ((((([sin v] of ((timer) * (285)) ) * (12)) + (90)) + (<<not <key (right arrow v) pressed?>> and <not <key (left arrow v) pressed?>>> * (0))) + (((20) * <key (right arrow v) pressed?>) + ((-20) * <key (left arrow v) pressed?>)))\n        change y by (-1.5)\n    end\n    switch costume to (Costume#)\n    if <(Pause) = [Yes]> then\n        point in direction (90)\n    end\n    go to (hitbox v)\nend\n\n@Hitbox\n\nwhen flag clicked\nhide\nset size to (240) %\ngo to x: (-220) y: (-130)\nset [yv v] to [0]\nforever\n    forever\n        if <(Pause) = [No]> then\n            if <key (right arrow v) pressed?> then\n                change [xv v] by (1)\n            end\n            if <key (left arrow v) pressed?> then\n                change [xv v] by (-1)\n            end\n            set [xv v] to ((Xv) * (0.9))\n            change x by (Xv)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change y by (1)\n                        if <touching color (#000000)?> then\n                            change y by (1)\n                            if <touching color (#000000)?> then\n                                change y by (1)\n                                if <touching color (#000000)?> then\n                                    change x by ((Xv) * (-1))\n                                    change y by (-5)\n                                    if <key (up arrow v) pressed?> then\n                                        if <(Xv) > [0]> then\n                                            set [xv v] to [-5]\n                                        else\n                                            set [xv v] to [5]\n                                        end\n                                        set [yv v] to [10]\n                                    else\n                                        set [xv v] to [0]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n            change [yv v] by (-1)\n            change y by (Yv)\n            if <touching color (#000000)?> then\n                change y by ((Yv) * (-1))\n                set [yv v] to [0]\n            end\n            change y by (-1)\n            if <touching color (#000000)?> then\n                if <key (up arrow v) pressed?> then\n                    set [yv v] to [14]\n                end\n            end\n            change y by (1)\n            if <<<touching color (#ff0000)?> or <key (r v) pressed?>> or <[-175] > (y position)>> then\n                go to x: (-220) y: (-130)\n                set [yv v] to [0]\n                set [xv v] to [0]\n            end\n            if <(x position) > [235]> then\n                go to x: (-220) y: (-130)\n                set [yv v] to [0]\n                set [xv v] to [0]\n                broadcast (message1 v)\n            end\n            if <touching color (#003fff)?> then\n                set [yv v] to [23.5]\n            end\n            if <touching color (#00ff55)?> then\n                If Level = (11) Go to X (-225) Y (60)\n                If Level = (12) Go to X (-230) Y (143)\n            end\n        end\n    end\nend\n\ndefine None\nif <([costume # v] of [level v]) = (1)> then\n    go to x: (x) y: (y)\nend\n\nwhen flag clicked\nset [i don't know what to call this v] to [No]\nforever\n    wait until <(I don't know what to call this) = [Yes]>\n    go to x: (-220) y: (-130)\n    set [i don't know what to call this v] to [No]\nend\n\nset [i don't know what to call this v] to [Yes]\n\n@Level\n\nwhen flag clicked\nshow\ngo to [front v] layer\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\nwhen I receive [message1 v]\nnext costume\n\nswitch costume to ((costume [number v]) - (1))\n\nwhen I receive [message3 v]\nset [i don't know what to call this v] to [Yes]\nnext costume\n\n@Sprite1\n\nwhen flag clicked\nhide\n\n@Sprite2\n\nwhen flag clicked\nset [pause v] to [No]\nforever\n    wait until <key (space v) pressed?>\n    wait until <not <key (space v) pressed?>>\n    if <(Pause) = [No]> then\n        set [pause v] to [Yes]\n    else\n        set [pause v] to [No]\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (50)\ngo to x: (0) y: (0)\nforever\n    go to [front v] layer\n    go [backward v] (5) layers\n    if <(Pause) = [No]> then\n        hide\n    else\n        show\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\nhide\nswitch costume to (costume2 v)\ncreate clone of (_myself_ v)\nswitch costume to (costume3 v)\ncreate clone of (_myself_ v)\ngo to x: (0) y: (40)\n\nwhen I start as a clone\ngo to x: (0) y: (40)\nif <(costume [number v]) = [1]> then\n    forever\n        if <(Pause) = [No]> then\n            set size to (100) %\n            hide\n        else\n            set size to (100) %\n            show\n            wait until <<touching (mouse-pointer v)?> or <(Pause) = [No]>>\n            repeat until <<not <touching (mouse-pointer v)?>> or <(Pause) = [No]>>\n                if <mouse down?> then\n                    wait until <<not <mouse down?>> or <(Pause) = [No]>>\n                    if <<(Pause) = [Yes]> and <touching (mouse-pointer v)?>> then\n                        change [costume# v] by (1)\n                    end\n                end\n            end\n        end\n    end\nelse\n    forever\n        if <(Pause) = [No]> then\n            set size to (100) %\n            hide\n        else\n            set size to (100) %\n            show\n            wait until <<touching (mouse-pointer v)?> or <(Pause) = [No]>>\n            repeat until <<not <touching (mouse-pointer v)?>> or <(Pause) = [No]>>\n                if <mouse down?> then\n                    wait until <<not <mouse down?>> or <(Pause) = [No]>>\n                    if <<(Pause) = [Yes]> and <touching (mouse-pointer v)?>> then\n                        change [costume# v] by (-1)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nforever\n    go to [front v] layer\n    if <<touching (mouse-pointer v)?> and <(Pause) = [Yes]>> then\n        set [brightness v] effect to (20)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n@Sprite5\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go to x: (0) y: (40)\n    if <(Pause) = [No]> then\n        hide\n    else\n        show\n        set [brightness v] effect to (0)\n        switch costume to (Costume#)\n        set size to (300) %\n    end\nend\n\n@Sprite6\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go to x: (0) y: (-60)\n    if <(Pause) = [No]> then\n        hide\n    else\n        go to [front v] layer\n        show\n        wait until <<touching (mouse-pointer v)?> or <(Pause) = [No]>>\n        repeat until <<not <touching (mouse-pointer v)?>> or <(Pause) = [No]>>\n            if <mouse down?> then\n                wait until <<not <mouse down?>> or <(Pause) = [No]>>\n                if <<(Pause) = [Yes]> and <touching (mouse-pointer v)?>> then\n                    change [song v] by (1)\n                    broadcast (message2 v)\n                end\n            end\n        end\n    end\n    go to [front v] layer\nend\n\nwhen flag clicked\nforever\n    if <<(Pause) = [Yes]> and <touching (mouse-pointer v)?>> then\n        set [brightness v] effect to (20)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n@Sprite7\n\nwhen flag clicked\nset [i don't know what to call this v] to [No]\nforever\n    go to [front v] layer\n    go to x: (0) y: (-5)\n    if <(Pause) = [No]> then\n        hide\n    else\n        go to [front v] layer\n        show\n        wait until <<touching (mouse-pointer v)?> or <(Pause) = [No]>>\n        repeat until <<not <touching (mouse-pointer v)?>> or <(Pause) = [No]>>\n            if <mouse down?> then\n                wait until <<not <mouse down?>> or <(Pause) = [No]>>\n                if <<(Pause) = [Yes]> and <touching (mouse-pointer v)?>> then\n                    broadcast (message3 v)\n                end\n            end\n        end\n    end\n    go to [front v] layer\nend\n\nwhen flag clicked\nforever\n    if <<(Pause) = [Yes]> and <touching (mouse-pointer v)?>> then\n        set [brightness v] effect to (20)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n