Icy's Platformer *melting!*
@Stage\n\nwhen flag clicked\nhide variable [volume v]\nset [volume showing? v] to [0]\nset [volume v] to [70]\nswitch backdrop to (backdrop3 v)\n\nwhen I receive [start project v]\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Cheerful Memory v] until done\nend\n\nwhen I receive [start project v]\nset volume to (100) %\nforever\n    if <key (v v) pressed?> then\n        if <(volume showing?) = [0]> then\n            show variable [volume v]\n            set [volume showing? v] to [1]\n        else\n            hide variable [volume v]\n            set [volume showing? v] to [0]\n        end\n        wait until <not <key (v v) pressed?>>\n    end\n    set volume to (volume) %\nend\n\nwhen I receive [start! v]\nswitch backdrop to (level1 v)\n\n@Icy\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [backdrop2 v]\nswitch costume to (icy1 v)\nwait (1) seconds\nswitch costume to (icy1 v)\nwait (1) seconds\nswitch costume to (icy1 v)\n\nset y to (-112)\nwait (0.4) seconds\ngo to x: (-215) y: (-90)\nswitch costume to (icy1 v)\nset size to (150) %\n\nwhen I receive [start! v]\nforever\n    if <(costume [number v]) = [4]> then\n        set size to (150) %\n        set y to (-112)\n        wait (0.4) seconds\n        go to x: (-215) y: (-90)\n        switch costume to (icy1 v)\n        set size to (150) %\n    end\nend\n\nwhen I receive [start project v]\nshow\ngo to x: (-163) y: (61)\nset size to (300) %\nswitch costume to (icy1 v)\n\nwhen I receive [start! v]\nset [stop v] to [0]\nset size to (150) %\ngo to x: (-201) y: (-85)\nset [y v] to [0]\nset [x v] to [0]\nforever\n    change [y v] by (-1)\n    if <key (right arrow v) pressed?> then\n        change [x v] by (1)\n    end\n    if <key (left arrow v) pressed?> 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 color (#00cccc)?> then\n        change y by (1)\n    end\n    if <touching color (#00cccc)?> then\n        change y by (1)\n    end\n    if <touching color (#00cccc)?> then\n        change y by (1)\n    end\n    if <touching color (#00cccc)?> then\n        change y by (1)\n    end\n    if <touching color (#00cccc)?> then\n        change y by (-4)\n        change x by ((X) * (-1))\n        if <key (up arrow v) pressed?> then\n            set [y v] to [15]\n            if <([abs v] of (X) ) = (X)> 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 color (#00cccc)?> 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?> and <touching color (#00cccc)?>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <touching color (#ffff00)?> then\n        switch costume to (icy melted v)\n    end\n    if <touching color (#666666)?> then\n        switch costume to (icy melted v)\n    end\n    if <(backdrop [name v]) = [Backdrop2]> then\n        set [stop v] to [1]\n    else\n        if <touching (freezer v)?> then\n            next backdrop\n            go to x: (-215) y: (-90)\n            switch costume to (icy1 v)\n            set size to (150) %\n        end\n    end\nend\n\nwhen I receive [start! v]\nforever\n    if <(STop) = [0]> then\n        wait (1) seconds\n        next costume\n        repeat (15)\n            change size by (-1)\n        end\n        wait (0.8) seconds\n        repeat (15)\n            change size by (-1)\n        end\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [start! v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start project v]\nset size to (200) %\ngo to x: (0) y: (-70)\nshow\nforever\n    go to x: (0) y: (-70)\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        broadcast (Start! v)\n    end\nend\n\n@Freezer\n\nwhen I receive [start! v]\nset size to (20) %\ngo to x: (190) y: (-82)\n\nwhen backdrop switches to [backdrop2 v]\ngo to x: (-187) y: (111)\nset size to (30) %\n\nwhen I receive [start project v]\nswitch costume to (freezerclipart v)\nshow\ngo to x: (163) y: (-55)\nset size to (30) %\n\nwhen flag clicked\nhide\n\n@Sprite2\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [level1 v]\nhide\n\nwhen I receive [start project v]\ngo to x: (-26) y: (51)\nshow\ngo to [front v] layer\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [level13 v]\ngo to x: (-7) y: (57)\nshow\nset size to (150) %\nswitch costume to (light on v)\nrepeat until <(backdrop [name v]) = [Level14]>\n    wait (0.9) seconds\n    next costume\nend\n\nwhen backdrop switches to [level14 v]\nhide\n\n@Sprite4\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [backdrop2 v]\nshow\nset size to (8) %\nforever\n    set x to (([x position v] of [icy v]) + (54))\n    set y to (([y position v] of [icy v]) - (3))\nend\n\n@igaby logo\n\nwhen I receive [start! v]\nhide\n\nwhen I receive [start project v]\ngo to x: (-180) y: (-120)\ngo to [front v] layer\nset size to (30) %\nshow\n\nwhen flag clicked\nhide\n\n@Note\n\nwhen flag clicked\nNote\nbroadcast (start project v)\n\ndefine Note\ngo to x: (0) y: (0)\npoint in direction (90)\nswitch costume to (note v)\ngo to [front v] layer\nshow\nset [ghost v] effect to (0)\nwait until <not <mouse down?>>\nwait until <<mouse down?> and <touching (mouse-pointer v)?>>\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nhide\n\n@old icy\n\n
All instructions are in the game except...\n Press "v" to show the volume. Press "v" again to hide it.