scroll Minecraft platformer!
@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [startgame v]\nswitch backdrop to (backdrop1 v)\nset volume to (100) %\nforever\n    play sound [Popsicle v] until done\nend\n\n@light\n\nwhen flag clicked\nhide\n\nwhen I receive [startgame v]\nshow\ngo to [back v] layer\nforever\n    go to (character v)\n    set [ghost v] effect to (40)\nend\n\n@level\n\nwhen flag clicked\nhide\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen I receive [startgame v]\nshow\ngo to [front v] layer\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@effects, grass and lamps\n\nwhen flag clicked\nhide\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [5]> then\n        broadcast (show blade v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [6]> then\n        broadcast (show moving platform v)\n    else\n        broadcast (hide moving platform v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [6]> then\n        broadcast (hide blade v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [11]> then\n        broadcast (hide blade v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [10]> then\n        broadcast (show blade v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [startgame v]\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@danger\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nbroadcast (lava v)\n\nwhen I receive [nextlevel v]\nstop [other scripts in sprite v]\nnext costume\nbroadcast (lava v)\n\nwhen I receive [lava v]\ngo to x: (0) y: (0)\nforever\n    repeat (8)\n        change y by (0.25)\n    end\n    repeat (4)\n        change y by (0.5)\n    end\n    repeat (2)\n        change y by (1)\n    end\n    repeat (8)\n        change y by (-0.25)\n    end\n    repeat (4)\n        change y by (-0.5)\n    end\n    repeat (2)\n        change y by (-1)\n    end\nend\n\n@next\n\nset x to (0)\n\nwhen flag clicked\nset volume to (50) %\nset [transition on? v] to [off]\ngo to [front v] layer\ngo to x: (0) y: (348)\nhide\n\nwhen I receive [transition v]\nset [transition on? v] to [on]\nstart sound [Low Whoosh v]\nclear graphic effects\ngo to [front v] layer\nshow\ngo to x: (0) y: (348)\nrepeat until <(y position) = [10]>\n    set y to ((y position) + (((10) - (y position)) / (2)))\nend\nbroadcast (nextlevel v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [transition on? v] to [off]\nhide\n\n@clouds\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (pick random (70) to (88))\nset [speed v] to (pick random (2.5) to (5))\ngo to x: (pick random (216) to (-216)) y: (-160)\nswitch costume to (costume1 v)\nchange size by (pick random (0) to (-25))\ngo to [back v] layer\nrepeat until <touching (_edge_ v)?>\n    change [ghost v] effect by (.3)\n    change y by (speed)\nend\ndelete this clone\n\nwhen I receive [startgame v]\nclear graphic effects\nforever\n    wait (pick random (.5) to (.8)) seconds\n    create clone of (_myself_ v)\nend\n\n@text\n\n@blade\n\nwhen flag clicked\nbroadcast (hide blade v)\nhide\nswitch costume to (costume2 v)\nforever\n    go to x: (0) y: (-150)\n    if <(costume [number v]) = [1]> then\n        turn right (10) degrees\n    else\n        turn right (3) degrees\n    end\nend\n\nwhen I receive [hide blade v]\nhide\n\nwhen I receive [show blade v]\nshow\n\n\n\n@moving platform base\n\nwhen flag clicked\nhide\nbroadcast (hide moving platform v)\ngo to x: (-93) y: (-111)\nforever\n    glide (2) secs to x: (133) y: (-111)\n    wait (1) seconds\n    glide (2) secs to x: (-93) y: (-111)\n    wait (1) seconds\nend\n\nwhen I receive [hide moving platform v]\nhide\n\nwhen I receive [show moving platform v]\nshow\n\n@moving platform design\n\nwhen flag clicked\nhide\ngo to x: (-93) y: (-111)\nforever\n    glide (2) secs to x: (133) y: (-111)\n    wait (1) seconds\n    glide (2) secs to x: (-93) y: (-111)\n    wait (1) seconds\nend\n\nwhen I receive [show moving platform v]\nshow\n\nwhen I receive [hide moving platform v]\nhide\n\n@character\n\nwhen flag clicked\nhide\nforever\n    wait (pick random (2) to (4)) seconds\n    switch costume to (costume1 v)\n    repeat (3)\n        next costume\n    end\n    switch costume to (costume4 v)\n    wait (0.1) seconds\n    repeat (3)\n        switch costume to ((costume [number v]) - (1))\n    end\nend\n\nwhen I receive [nextlevel v]\nset [speedx v] to [0]\nset [speedy v] to [0]\ngo to x: (-190) y: (-28)\n\nwhen I receive [startgame v]\nshow\npoint in direction (90)\nswitch costume to (costume1 v)\ngo to x: (-190) y: (-28)\nset [speedx v] to [0]\nset [speedy v] to [0]\ngo [forward v] (10) layers\nset size to (90) %\nforever\n    change [speedy v] by (-0.5)\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [speedx v] by (-1)\n        point in direction (-90)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(x position) < (mouse x)>>> then\n        change [speedx v] by (1)\n        point in direction (90)\n    end\n    set [speedx v] to ((speedX) * (0.9))\n    change x by (speedX)\n    if <<touching (level v)?> or <touching (moving platform base v)?>> then\n        change y by (1)\n        if <<touching (level v)?> or <touching (moving platform base v)?>> then\n            change y by (1)\n            if <<touching (level v)?> or <touching (moving platform base v)?>> then\n                change y by (1)\n                if <<touching (level v)?> or <touching (moving platform base v)?>> then\n                    change y by (1)\n                    if <<touching (level v)?> or <touching (moving platform base v)?>> then\n                        change y by (1)\n                        if <<touching (level v)?> or <touching (moving platform base v)?>> then\n                            change y by (1)\n                            if <<touching (level v)?> or <touching (moving platform base v)?>> then\n                                change y by (-6)\n                                change x by ((speedX) * (-1))\n                                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> then\n                                    set [speedy v] to [8]\n                                    if <(speedX) > [0]> then\n                                        set [speedx v] to [-8]\n                                    else\n                                        set [speedx v] to [8]\n                                    end\n                                else\n                                    set [speedx v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (SpeedY)\n    if <<touching (level v)?> or <touching (moving platform base v)?>> then\n        set [jumplock v] to [0]\n        change y by ((SpeedY) * (-1))\n        set [speedy v] to [0]\n    end\n    change y by (-0.5)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> and <(jumplock) = [0]>> then\n        set [speedy v] to [9]\n        set [jumplock v] to [1]\n    end\n    change y by (0.5)\n    if <<[240] < (x position)> and <not <([costume # v] of [level v]) = [11]>>> then\n        broadcast (transition v)\n        go to x: (-190) y: (-28)\n    end\n    if <<<touching (blade v)?> or <touching (danger v)?>> and <(transition on?) = [off]>> then\n        start sound [Crunch v]\n        create clone of (_myself_ v)\n        go to x: (-190) y: (-28)\n        set [speedx v] to [0]\n        set [speedy v] to [0]\n    end\n    if <touching (moving platform base v)?> then\n        moving platform detection\n    end\nend\n\nwhen I start as a clone\nswitch costume to (costume1 v)\nrepeat (10)\n    change [brightness v] effect by (4)\n    change [ghost v] effect by (9)\n    change y by (5)\n    change size by (4)\nend\ndelete this clone\n\ndefine moving platform detection\nchange y by (30)\n\n@nextlevel button\n\ndefine fade\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nforever\n    set [distance v] to (distance to [mouse-pointer v])\nend\n\nwhen I receive [nextlevel v]\nbroadcast (button v)\n\nwhen I receive [button v]\nclear graphic effects\nset size to (100) %\nshow\ngo to x: (256) y: (150)\nforever\n    set x to ((x position) + (((-200) - (x position)) / (10)))\n    if <[30] > (distance)> then\n        change size by (((130) - (size)) / (5))\n        if <mouse down?> then\n            broadcast (transition v)\n            fade\n            stop [this script v]\n        end\n    else\n        change size by (((100) - (size)) / (5))\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <<(lets just keep it simple.) = [0]> or <([costume # v] of [level v]) = [11]>>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [startgame v]\nset [lets just keep it simple. v] to [1]\nshow\nbroadcast (button v)\n\nwhen flag clicked\nset [lets just keep it simple. v] to [0]\nhide\n\n@rain\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to [back v] layer\nshow\nswitch costume to (costume1 v)\nchange [ghost v] effect by (pick random (0) to (20))\nset [speed v] to (pick random (-12) to (-15))\nif <(speed) > [4]> then\n    set size to (pick random (110) to (130)) %\nend\ngo to x: (pick random (224) to (-224)) y: (167)\nrepeat until <<<touching (level v)?> or <touching (moving platform base v)?>> or <touching (_edge_ v)?>>\n    change y by (speed)\nend\nrepeat (3)\n    next costume\n    wait (0.001) seconds\nend\ndelete this clone\n\nwhen I receive [startgame v]\nclear graphic effects\nhide\nforever\n    wait (pick random (0) to (0.001)) seconds\n    create clone of (_myself_ v)\nend\n\n@thumbnail\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nhide\n\n@thingy\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [thing v]\nswitch costume to (costume1 v)\nshow\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nbroadcast (startgame v)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nhide\n\n@Intro \n\ndefine size: (size) Speed: (speed)\nset [bouncy v] to ((((size) - (size)) * (speed)) + ((bouncy) * (0.7)))\nchange size by (bouncy)\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [particles]> then\n    go to x: (0) y: (0)\n    go [forward v] (7) layers\n    set [ghost v] effect to (0)\n    show\n    switch costume to (particle v)\n    set [color v] effect to (pick random (10) to (-10))\n    set [ghost v] effect to (pick random (3) to (20))\n    point in direction (pick random (0) to (360))\n    set [particle move v] to [10]\n    repeat (50)\n        move (Particle Move) steps\n        change [particle move v] by (pick random (-.4) to (-.45))\n    end\n    repeat (50)\n        move (Particle Move) steps\n        change [particle move v] by (pick random (.4) to (.45))\n    end\n    repeat (50)\n        move (Particle Move) steps\n        change [particle move v] by (pick random (-.4) to (-.45))\n    end\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [Tiles]> then\n    go [forward v] (0) layers\n    switch costume to (squares 1 v)\n    set size to (0) %\n    show\n    repeat until <(round (size)) = [98]>\n        change size by (((98) - (round (size))) / (3))\n    end\n    wait (7) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\ndefine Smooth Glide x: (x) y: (y) speed: (i)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (i))\n    change y by (((round (y)) - (round (y position))) / (i))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\nset [idididididididididididididididididid v] to [Star]\nrepeat (10)\n    create clone of (_myself_ v)\nend\nset [idididididididididididididididididid v] to [Snow]\nrepeat (30)\n    create clone of (_myself_ v)\nend\npoint in direction (90)\nset size to (100) %\nset [color v] effect to (0)\nswitch costume to (bars v)\nhide\nstart sound [Intro v]\ngo to x: (0) y: (-207)\nset [idididididididididididididididididid v] to [Color background]\nset [position v] to [207]\nrepeat (6)\n    create clone of (_myself_ v)\n    change [position v] by (-80)\n    change [color v] effect by (3)\n    wait (.05) seconds\nend\nset [color v] effect to (0)\nset [idididididididididididididididididid v] to [Tiles]\nswitch costume to (squares 1 v)\ngo to x: (-200) y: (140)\nrepeat (4)\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (100)\n    end\n    change y by (-100)\n    set x to (-200)\nend\nset [idididididididididididididididididid v] to [top]\ncreate clone of (_myself_ v)\nwait (.1) seconds\nset [idididididididididididididididididid v] to [bottom]\ncreate clone of (_myself_ v)\nwait (.1) seconds\nset [idididididididididididididididididid v] to [icon]\ncreate clone of (_myself_ v)\nwait (.1) seconds\nset [idididididididididididididididididid v] to [Circle]\ncreate clone of (_myself_ v)\nwait (.1) seconds\nset [idididididididididididididididididid v] to [particles]\nparticles\nwait (.75) seconds\nset [idididididididididididididididididid v] to [Triangle]\ncreate clone of (_myself_ v)\nwait (.65) seconds\nset [idididididididididididididididididid v] to [circle]\ncreate clone of (_myself_ v)\nwait (.6) seconds\nset [idididididididididididididididididid v] to [Triangle]\ncreate clone of (_myself_ v)\nwait (.75) seconds\nset [idididididididididididididididididid v] to [circle]\ncreate clone of (_myself_ v)\nwait (2) seconds\nset [idididididididididididididididididid v] to [Wipe]\ncreate clone of (_myself_ v)\nrepeat (10)\n    change volume by (-10)\nend\nstop all sounds\nset volume to (100) %\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [Color background]> then\n    show\n    Smooth Glide x: (0) y: (Position) speed: (5)\n    wait (4) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [icon]> then\n    point in direction (180)\n    go to x: (0) y: (0)\n    set size to (0) %\n    switch costume to (icon v)\n    show\n    go [forward v] (5) layers\n    repeat (10)\n        change size by (((100) - (round (size))) / (3))\n    end\n    wait (1.2) seconds\n    point in direction (-90)\n    wait (1.5) seconds\n    point in direction (-90)\n    repeat (30)\n        change size by (((200) - (round (size))) / (3))\n        change [ghost v] effect by (4)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [Circle]> then\n    show\n    go to x: (0) y: (0)\n    go [forward v] (6) layers\n    set [ghost v] effect to (0)\n    set size to (100) %\n    switch costume to (circle v)\n    repeat (400)\n        change size by (((800) - (round (size))) / (7))\n        change [ghost v] effect by (3)\n    end\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [particles]> then\n    wait (3) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [Triangle]> then\n    go to x: (0) y: (0)\n    go [forward v] (10) layers\n    set [ghost v] effect to (30)\n    switch costume to (triangle v)\n    show\n    set size to (0) %\n    repeat until <(round (size)) = [150]>\n        change size by (((150) - (round (size))) / (3))\n    end\n    wait (.5) seconds\n    repeat until <(round (size)) = [300]>\n        change size by (((300) - (round (size))) / (3))\n    end\n    repeat (10)\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [Wipe]> then\n    show\n    go to [front v] layer\n    switch costume to (wipe v)\n    go to x: (-2000000) y: (2000)\n    go [forward v] (1) layers\n    go [forward v] (80) layers\n    go to [front v] layer\n    Smooth Glide x: (0) y: (0) speed: (3)\n    wait (0.01) seconds\n    go to [front v] layer\n    broadcast (Delete all clones v)\n    repeat (10)\n        change [ghost v] effect by (5)\n    end\nend\n\nwhen I receive [delete all clones v]\nbroadcast (thing v)\ndelete this clone\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [bottom]> then\n    show\n    go to [front v] layer\n    switch costume to (bottom v)\n    go to x: (0) y: (-219)\n    Smooth Glide x: (0) y: (0) speed: (5)\n    go to [front v] layer\n    wait (6) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [top]> then\n    show\n    go to [front v] layer\n    switch costume to (top v)\n    go to x: (0) y: (219)\n    Smooth Glide x: (0) y: (0) speed: (5)\n    go to [front v] layer\n    wait (6) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [top]> then\n    forever\n        go [forward v] (1000000000000) layers\n    end\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [bottom]> then\n    forever\n        go [forward v] (10000) layers\n    end\nend\n\nwhen I start as a clone\nif <[Wipe] = (IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID)> then\n    forever\n        go to [front v] layer\n    end\nend\n\ndefine particles\nrepeat (60)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [icon]> then\n    forever\n        turn right (((90) - (direction)) / (5)) degrees\n    end\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [Star]> then\n    wait (pick random (2) to (4)) seconds\n    go to [front v] layer\n    set size to (pick random (20) to (80)) %\n    clear graphic effects\n    go to x: (pick random (-230) to (230)) y: (pick random (-61) to (61))\n    show\n    switch costume to (star 1 v)\n    repeat (7)\n        wait (0.01) seconds\n        next costume\n        change [ghost v] effect by (5)\n    end\n    clear graphic effects\n    go to [front v] layer\n    set size to (pick random (20) to (80)) %\n    go to x: (pick random (-230) to (230)) y: (pick random (-61) to (61))\n    show\n    switch costume to (star 1 v)\n    repeat (7)\n        wait (0.01) seconds\n        next costume\n        change [ghost v] effect by (5)\n    end\n    go to [front v] layer\n    clear graphic effects\n    set size to (pick random (20) to (80)) %\n    go to x: (pick random (-230) to (230)) y: (pick random (-61) to (61))\n    show\n    switch costume to (star 1 v)\n    repeat (7)\n        wait (0.01) seconds\n        next costume\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [top]> then\n    wait (1.8) seconds\n    change y by (300)\n    wait (1.5) seconds\n    change y by (300)\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [bottom]> then\n    wait (1.7) seconds\n    change y by (-300)\n    wait (1.5) seconds\n    change y by (-300)\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [bg dots]> then\n    show\n    switch costume to (bg dots v)\n    Smooth Glide x: (pick random (228) to (-228)) y: (pick random (88) to (-88)) speed: (5)\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [bottom]> then\n    forever\n        Smooth Glide x: (0) y: (0) speed: (10)\n    end\nend\n\nwhen I start as a clone\nif <(IDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDIDID) = [top]> then\n    forever\n        Smooth Glide x: (0) y: (0) speed: (10)\n    end\nend\n\n