- Cursor - (Puzzle Platformer) V 1.0

Instructions: Play my new project here: https://scratch.mit.edu/projects/710939600/\n| Welcome to my newest game!(Made by @MegaGamesFilms) |\n\n\nThis is puzzle platformer(kind of) where you moves your player with your cursor!Bouncepads and moving platforms will help you passing the level.But be aware!\nThere also spikes and lasers which will kill you!(Otherwise the game would be boring hhAHHAHHAH)\n\n\n\nThere also will be a level edtior.\n\n\n\n\nIMPORTANT: You need only a mouse to play it!(Laptop touchpad is not a good idea)Not really tested for mobile idk

@Stage\n\nwhen I receive [store my high score v]\nnext backdrop\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\n@problem?dO YOU WAnt to steal?\n\n@Ground\n\nwhen I receive [level change v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    go [forward v] (3) layers\nend\n\nwhen I receive [start v]\ngo to x: (20) y: (14)\nshow\nswitch costume to (1 v)\n\nwhen I receive [clone v]\ngo to x: (20) y: (14)\nshow\nswitch costume to (menulevel v)\n\n@Player\n\nwhen I receive [level change v]\nchange [level v] by (1)\ngo to x: (-190) y: (0)\nif <(Level) = [1]> then\n    go to x: (-190) y: (120)\nend\nif <(Level) = [12]> then\n    go to x: (-215) y: (47)\nend\nif <(Level) = [2]> then\n    go to x: (-190) y: (-112)\nend\nif <(Level) = [4]> then\n    go to x: (-190) y: (160)\nend\nif <(Level) = [5]> then\n    go to x: (-190) y: (160)\nend\nif <(Level) = [10]> then\n    broadcast (store my high score v)\n    broadcast (game over menu v)\nend\n\nwhen I receive [start v]\nforever\n    if on edge, bounce\n    if <<(y position) < [-150]> or <<<touching (door v)?> or <touching (movinglaser v)?>> or <touching (spikes2 v)?>>> then\n        set volume to (75) %\n        start sound [Crunch v]\n        broadcast (dur v)\n        wait (0.1) seconds\n        broadcast (Restart v)\n    end\nend\n\nwhen flag clicked\nhide\nforever\n    if <touching (sprite2 v)?> then\n        stop [other scripts in sprite v]\n        repeat (120)\n            change x by (2)\n        end\n        hide\n        broadcast (End v)\n    end\nend\n\nwhen I receive [restart v]\nset [ghost v] effect to (0)\ngo to x: (-190) y: (0)\nif <(Level) = [1]> then\n    go to x: (-190) y: (120)\nend\nif <(Level) = [12]> then\n    go to x: (-215) y: (47)\nend\nif <(Level) = [2]> then\n    go to x: (-190) y: (-112)\nend\nif <(Level) = [4]> then\n    go to x: (-190) y: (160)\nend\nif <(Level) = [5]> then\n    go to x: (-190) y: (160)\nend\n\nwhen I receive [start v]\nreset timer\nforever\n    if <key (s v) pressed?> then\n        broadcast (Level change v)\n        wait until <not <key (s v) pressed?>>\n    end\n    if <(Level) = [10]> then\n        if on edge, bounce\n    end\nend\n\nwhen I receive [start v]\nset [level v] to [0]\nforever\n    if <(x position) > [220]> then\n        broadcast (Level change v)\n    end\nend\n\nwhen I receive [dur v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [ghost v] effect to (0)\n\nwhen flag clicked\nset [gamedone? v] to [nope]\nhide variable [points v]\nhide variable [text v]\nhide variable [textscore v]\nhide variable [texthighscore v]\nrepeat until <(GameDone?) = [lol]>\n    set [points v] to (timer)\nend\n\nwhen I receive [store my high score v]\nshow variable [texthighscore v]\nshow variable [textscore v]\nshow variable [text v]\nset [text v] to [Play again and try break the Highscore!Coment your Score!]\nset [texthighscore v] to [The\(Cloud\) Highscore:]\nset [textscore v] to [Your Score:]\nset [gamedone? v] to [lol]\nif <(Points) < (☁ Highscore)> then\n    set [☁ highscore v] to (Points)\n    set [text v] to [You break your own Highscore!:D:D]\n    set [texthighscore v] to [New Highscore!:]\n    set [texthighscore v] to (join (TextHighscore) (☁ Highscore))\n    set [textscore v] to (join (TextScore) (Points))\nelse\n    set [textscore v] to (join (TextScore) (Points))\n    set [texthighscore v] to (join (TextHighscore) (☁ Highscore))\nend\n\nwhen [9 v] key pressed\nset [☁ highscore v] to [40]\n\nwhen I receive [start v]\nshow\nstop all sounds\ngo to [back v] layer\nset size to (100) %\ngo to x: (-200) y: (0)\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    switch costume to (spieler v)\n    if <touching (cursor v)?> then\n        if <([x position v] of [cursor v]) < ((x position) + (4))> then\n            switch costume to (spieler2 v)\n            change [xv v] by (1)\n            wait until <touching (cursor v)?>\n        end\n    end\n    if <not <touching (movingplatform v)?>> then\n        point in direction ((Yv) * (1))\n        set [xv v] to ((Xv) * (0.9))\n        change x by (Xv)\n    else\n        change x by (MovingPlatformX)\n    end\n    if <<<touching (ground v)?> or <touching (movingplatform v)?>> or <touching (figur1 v)?>> then\n        change y by (1)\n        if <<<touching (ground v)?> or <touching (movingplatform v)?>> or <touching (figur1 v)?>> then\n            change y by (1)\n            if <<<touching (ground v)?> or <touching (movingplatform v)?>> or <touching (figur1 v)?>> then\n                change y by (1)\n                if <<<touching (ground v)?> or <touching (movingplatform v)?>> or <touching (figur1 v)?>> then\n                    change y by (1)\n                    if <<<touching (ground v)?> or <touching (movingplatform v)?>> or <touching (figur1 v)?>> then\n                        change y by (1)\n                        if <<<touching (ground v)?> or <touching (movingplatform v)?>> or <touching (figur1 v)?>> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\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 (ground v)?> or <touching (movingplatform v)?>> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (movingplatform v)?> then\n        change x by (MovingPlatformX)\n    end\n    change y by (1)\nend\n\nwhen I receive [start v]\nforever\n    if <touching (yellowtrampolin v)?> then\n        set [yv v] to [20]\n    end\n    if <touching (blaues trampolin v)?> then\n        set [xv v] to [-20]\n        set [yv v] to [10]\n    end\n    if <touching (grauestrampolin v)?> then\n        set [xv v] to [20]\n        set [yv v] to [10]\n    end\n    if <touching (grünestrampolin v)?> then\n        set [yv v] to [-10]\n        set [xv v] to [20]\n    end\nend\n\n@YellowTrampolin\n\nwhen I receive [level change v]\nhide\nif <(Level) = [3]> then\n    show\n    go to x: (93) y: (-92)\nend\nif <(Level) = [6]> then\n    show\n    go to x: (-65) y: (-50)\nend\nif <(Level) = [7]> then\n    show\n    go to x: (-21) y: (-57)\nend\nif <(Level) = [9]> then\n    show\n    go to x: (35) y: (-135)\nend\n\nwhen flag clicked\nhide\ngo to x: (-130) y: (-100)\nset size to (70) %\n\nwhen I receive [start v]\ngo to [back v] layer\nshow\ngo to x: (61) y: (-123)\nforever\n    if <touching (player v)?> then\n        switch costume to (untitled \(1\)2 v)\n        wait (0.1) seconds\n        start sound [Boing v]\n    else\n        switch costume to (untitled \(1\) v)\n    end\n    if <touching (player v)?> then\n        switch costume to (untitled \(1\)2 v)\n        wait (0.1) seconds\n        start sound [Boing v]\n    else\n        switch costume to (untitled \(1\) v)\n    end\nend\n\nwhen I receive [clone v]\nshow\nforever\n    if <touching (player/menu v)?> then\n        switch costume to (untitled \(1\)2 v)\n        wait (0.1) seconds\n    else\n        switch costume to (untitled \(1\) v)\n    end\nend\n\n@Cursor\n\nwhen flag clicked\nshow\n\nwhen I receive [clone v]\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    if on edge, bounce\n    go to (mouse-pointer v)\n    set rotation style [don't rotate v]\n    if <(y position) > [130]> then\n        hide\n    else\n        show\n    end\n    if <touching (player v)?> then\n        change x by (-1)\n        go to [back v] layer\n    else\n        go to [front v] layer\n    end\nend\n\n@GrauesTrampolin\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        switch costume to (costume3 v)\n        wait (0.1) seconds\n        start sound [Boing v]\n    else\n        switch costume to (costume2 v)\n    end\nend\n\nwhen I receive [level change v]\nhide\nif <(Level) = [0]> then\n    show\n    go to x: (110) y: (-40)\nend\nif <(Level) = [1]> then\n    show\n    go to x: (-80) y: (-51)\nend\nif <(Level) = [5]> then\n    show\n    go to x: (110) y: (30)\nend\nif <(Level) = [7]> then\n    show\n    go to x: (124) y: (-49)\nend\n\nwhen flag clicked\nset size to (70) %\nhide\n\n@Blaues Trampolin\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        switch costume to (untitled2 v)\n        wait (0.1) seconds\n        start sound [Boing v]\n    else\n        switch costume to (untitled v)\n    end\nend\n\nwhen I receive [level change v]\nhide\nif <(Level) = [0]> then\n    show\n    go to x: (225) y: (-90)\nend\nif <(Level) = [1]> then\n    show\n    go to x: (25) y: (-86)\nend\nif <(Level) = [5]> then\n    show\n    go to x: (226) y: (-14)\nend\nif <(Level) = [7]> then\n    show\n    go to x: (227) y: (-88)\nend\n\nwhen flag clicked\nset size to (70) %\nhide\n\n@GrünesTrampolin\n\nwhen I receive [level change v]\nhide\nif <(Level) = [2]> then\n    go to x: (93) y: (85)\n    show\nend\nif <(Level) = [5]> then\n    go to x: (-65) y: (125)\n    show\nend\nif <(Level) = [6]> then\n    go to x: (-21) y: (120)\n    show\nend\nif <(Level) = [8]> then\n    go to x: (30) y: (60)\n    show\nend\n\nwhen flag clicked\nhide\nset size to (70) %\n\nwhen I receive [start v]\ngo to x: (41) y: (34)\nshow\nforever\n    if <touching (player v)?> then\n        switch costume to (untitled \(1\)2 v)\n        wait (0.1) seconds\n        start sound [Boing v]\n    else\n        switch costume to (untitled \(1\) v)\n    end\nend\n\n@KeyButton\n\nwhen flag clicked\nhide\n\nwhen I receive [restart v]\n\nwhen I receive [level change v]\nswitch costume to (kostüm1 v)\nhide\nif <(Level) = [2]> then\n    go to x: (40) y: (-58)\n    show\nend\nif <(Level) = [7]> then\n    go to x: (10) y: (-81)\n    show\nend\nforever\n    if <touching (hitboxplayerdon'tseeplz v)?> then\n        go to [back v] layer\n        broadcast (door open  v)\n        switch costume to (kostüm2 v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [restart v]\nswitch costume to (kostüm1 v)\nforever\n    if <touching (hitboxplayerdon'tseeplz v)?> then\n        start sound [click2 v]\n        broadcast (door open  v)\n        switch costume to (kostüm2 v)\n        stop [this script v]\n    end\nend\n\n@Door\n\nwhen flag clicked\ngo to x: (36) y: (28)\nhide\n\nwhen I receive [door open  v]\nrepeat (30)\n    change y by (4)\nend\nwait (1) seconds\nhide\n\nwhen I receive [restart v]\nhide\nif <(Level) = [3]> then\n    go to x: (192) y: (50)\n    show\nend\nif <(Level) = [8]> then\n    go to x: (192) y: (14)\n    show\nend\n\nwhen I receive [level change v]\nhide\nif <(Level) = [2]> then\n    go to x: (192) y: (50)\n    show\nend\nif <(Level) = [7]> then\n    go to x: (192) y: (14)\n    show\nend\n\n@HitboxPlayerDon'tSeeplz\n\nwhen flag clicked\nset size to (100) %\nchange [ghost v] effect by (100)\nshow\nstop all sounds\ngo to x: (-108) y: (50)\nforever\n    go to x: ([x position v] of [player v]) y: ([y position v] of [player v])\n    point in direction ([direction v] of [player v])\n    if <touching (platformversteckt v)?> then\n        broadcast (Hide v)\n    end\nend\n\n@MusicManager\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (30)\n    else\n        set [ghost v] effect to (0)\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (3)\n        wait (0.2) seconds\n        change size by (-3)\n        wait (0.2) seconds\n    end\nend\n\nwhen I receive [clone v]\nforever\n    if <<<mouse down?> and <touching (mouse-pointer v)?>> and <(musicON?) = [true]>> then\n        next costume\n        set [musicon? v] to [false]\n        set volume to (0) %\n        wait until <not <mouse down?>>\n    end\n    if <<<mouse down?> and <touching (mouse-pointer v)?>> and <(musicON?) = [false]>> then\n        next costume\n        set [musicon? v] to [true]\n        set volume to (100) %\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nplay sound [Starship v] until done\ngo to [front v] layer\nset size to (20) %\nswitch costume to (costume1 v)\nset volume to (100) %\n\n@MovingLaser\n\nwhen flag clicked\nset [howfargoing v] to [2]\nhide\n\nwhen I receive [level change v]\nstop [other scripts in sprite v]\ngo to x: (0) y: (0)\nshow\ngo to [back v] layer\nnext costume\nset [howfargoing v] to [3]\nforever\n    wait (1) seconds\n    repeat (40)\n        change x by (howfargoing)\n    end\n    wait (1) seconds\n    repeat (40)\n        change x by ((howfargoing) - ((howfargoing) * (2)))\n    end\nend\n\nwhen flag clicked\nswitch costume to (kostüm1 v)\n\n@RestartButton\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (30)\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [start v]\nshow\nforever\n    go to [front v] layer\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        broadcast (Restart v)\n        wait (1) seconds\n    end\nend\n\n@Licht/Menü\n\nwhen flag clicked\nhide\nswitch costume to (untitled \(4\) v)\nforever\n    go [forward v] (0) layers\n    set [ghost v] effect to (50)\nend\n\nwhen I receive [level change v]\nhide\nnext costume\n\nwhen I receive [clone v]\nshow\n\nwhen I receive [start v]\nhide\n\n@MenuButtons\n\nwhen flag clicked\nset size to (90) %\nhide\nset [clonenumber v] to [0]\nset [how? v] to [0]\nset [credits? v] to [0]\n\nwhen I start as a clone\nshow\nif <(CloneNumber) = [1]> then\n    go to x: (10) y: (30)\n    switch costume to (kostüm1 v)\n    go to [back v] layer\n    forever\n        if <<(Credits?) = [0]> and <(How?) = [0]>> then\n            if <touching (mouse-pointer v)?> then\n                point in direction ((([sin v] of ((timer) * (150)) ) * (4)) + (90))\n                set [color v] effect to (5)\n                set [ghost v] effect to (20)\n                set size to (120) %\n            else\n                point in direction ((([sin v] of ((timer) * (150)) ) * (4)) + (90))\n                set [ghost v] effect to (0)\n                set size to (110) %\n                set [color v] effect to (0)\n            end\n            if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                broadcast (Start v)\n            end\n        end\n    end\nelse\n    if <(CloneNumber) = [2]> then\n        go to x: (10) y: (-20)\n        switch costume to (kostüm2 v)\n        go to [back v] layer\n        forever\n            if <<(Credits?) = [0]> and <(How?) = [0]>> then\n                go to [back v] layer\n                switch costume to (kostüm2 v)\n                if <touching (mouse-pointer v)?> then\n                    point in direction ((([sin v] of ((timer) * (150)) ) * (4)) + (90))\n                    set [color v] effect to (5)\n                    set [ghost v] effect to (20)\n                    set size to (120) %\n                else\n                    point in direction ((([sin v] of ((timer) * (150)) ) * (4)) + (90))\n                    set [ghost v] effect to (0)\n                    set size to (110) %\n                    set [color v] effect to (0)\n                end\n                if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                    set [credits? v] to [1]\n                end\n            end\n            if <(Credits?) = [1]> then\n                set [color v] effect to (0)\n                go to [front v] layer\n                switch costume to (how? v)\n                point in direction (90)\n                set [ghost v] effect to (0)\n            end\n        end\n    else\n    end\nend\n\nwhen flag clicked\ndelete this clone\n\nwhen flag clicked\ndelete this clone\n\nwhen flag clicked\ndelete this clone\n\nwhen I receive [clone v]\nrepeat (2)\n    create clone of (_myself_ v)\n    change [clonenumber v] by (1)\nend\n\nwhen I receive [clone?? v]\nswitch costume to (how? v)\n\nwhen I receive [start v]\nhide\n\nwhen flag clicked\nforever\n    if <<mouse down?> and <(Credits?) = [1]>> then\n        set [credits? v] to [0]\n    end\n    if <<mouse down?> and <(How?) = [1]>> then\n        set [how? v] to [0]\n    end\nend\n\n@Player/Menu\n\nwhen I receive [clone v]\ngo to x: (-130) y: (0)\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [clone v]\ngo [forward v] (0) layers\nshow\nset size to (100) %\nset [yv v] to [0]\nforever\n    switch costume to (spieler v)\n    point in direction ((Yv) * (1))\n    if <<<touching (ground v)?> or <touching (door v)?>> or <touching (platformversteckt v)?>> then\n        change y by (1)\n        if <<<touching (ground v)?> or <touching (door v)?>> or <touching (platformversteckt v)?>> then\n            change y by (1)\n            if <<<touching (ground v)?> or <touching (door v)?>> or <touching (platformversteckt v)?>> then\n                change y by (1)\n                if <<<touching (ground v)?> or <touching (door v)?>> or <touching (platformversteckt v)?>> then\n                    change y by (1)\n                    if <<<touching (ground v)?> or <touching (door v)?>> or <touching (platformversteckt v)?>> then\n                        change y by (1)\n                        if <<<touching (ground v)?> or <touching (door v)?>> or <touching (platformversteckt v)?>> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\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 (ground v)?> or <touching (door v)?>> or <touching (platformversteckt v)?>> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    change y by (1)\nend\n\nwhen I receive [clone v]\nforever\n    if <touching (yellowtrampolin v)?> then\n        set [yv v] to [16.5]\n    end\nend\n\n@Vorspann\n\nwhen flag clicked\ngo to x: (45) y: (0)\nswitch costume to (costume2 v)\nset size to (100) %\nset [ghost v] effect to (100)\nshow\nrepeat (40)\n    change size by (1)\n    change [ghost v] effect by (-5)\nend\nhide\nwait (0.7) seconds\nbroadcast (Clone v)\n\n@MovingPlatform\n\nwhen I receive [level change v]\nshow\nstop [other scripts in sprite v]\ngo to x: (224) y: (14)\nnext costume\nforever\n    set [movingplatformx v] to [2]\n    repeat (50)\n        change x by (MovingPlatformX)\n    end\n    set [movingplatformx v] to [-2]\n    repeat (50)\n        change x by (MovingPlatformX)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    go [forward v] (3) layers\nend\n\nwhen I receive [clone v]\nswitch costume to (kostüm1 v)\ngo to x: (224) y: (14)\n\n@Spikes2\n\nwhen flag clicked\nset [howfargoing v] to [2]\nhide\n\nwhen I receive [level change v]\nshow\ngo to [back v] layer\nnext costume\n\nif <(Level) = [1]> then\n    show\n    go to x: (-10) y: (192)\n    set [howfargoing v] to [3]\nend\nif <(Level) = [2]> then\n    show\n    go to x: (-10) y: (192)\n    set [howfargoing v] to [3]\nend\nif <(Level) = [5]> then\n    show\n    go to x: (-10) y: (-45)\n    set [howfargoing v] to [3]\nend\n\nwhen flag clicked\n\nwhen flag clicked\nswitch costume to (cursorgame \(1\) v)\n\n@Figur1\n\nwhen flag clicked\nhide\n\n\n\n