Paper2 -a platformer-

Instructions: EN:\nMove with the ← or → key.\nJump with the ↑ key.\nStill, this is the best place in the world.\nEnjoy!\n\nJP:\n左右キーで移動。\n上キーでジャンプ。\nそれでもここは世界最高の場所。\n楽しんで行ってね！\n\nCredits:\nBGM:Peritune\nSE:効果音ラボ\n前作:Paper\nhttps://scratch.mit.edu/projects/437788847/\n\nTags:\n#game #art #platformer #paper #Uuhcnadutaz

@Stage\n\nwhen flag clicked\nforever\n    play sound [PerituneMaterial_Piano_Refreshing_loop v] until done\nend\n\n@mask\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\nstart sound [paper take v]\ngo to x: (470) y: (0)\ngo to [front v] layer\nshow\nglide (1) secs to x: (-470) y: (0)\nhide\n\n@player\n\ndefine reset\nset [x v] to [0]\nset [y v] to [0]\ngo to x: (-220) y: (-120)\nclear graphic effects\nshow\n\nwhen flag clicked\nreset\nforever\n    change [x v] by <<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>>\n    change [x v] by (() - <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>>)\n    set [x v] to ((x) * (.9))\n    change x by (x)\n    change y by <touching (ground v)?>\n    change y by <touching (ground v)?>\n    change y by <touching (ground v)?>\n    change y by <touching (ground v)?>\n    change y by <touching (ground v)?>\n    if <touching (ground v)?> then\n        change x by (() - (x))\n        change y by (-5)\n        if <<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> then\n            start sound [kick v]\n            if <(x) > [0]> then\n                set [x v] to [-5]\n            else\n                set [x v] to [5]\n            end\n            set [y v] to [10]\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (-1)\n    if <<touching (ground v)?> and <<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>>> then\n        start sound [jump v]\n        set [y v] to [15]\n    end\n    if <touching (spring v)?> then\n        set [y v] to [20]\n    end\n    change y by (1)\n    change [y v] by (-1)\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by (() - (y))\n        set [y v] to [0]\n    end\n    if <(y position) < [-180]> then\n        start sound [void v]\n        repeat (5)\n            change [ghost v] effect by (20)\n        end\n        hide\n        wait (0.5) seconds\n        reset\n    end\n    if <touching (hazard v)?> then\n        start sound [sting v]\n        repeat (5)\n            change [ghost v] effect by (20)\n        end\n        hide\n        wait (0.5) seconds\n        reset\n    end\n    if <(x position) > [240]> then\n        broadcast (next v)\n        wait (0.5) seconds\n        reset\n        wait (0.5) seconds\n    end\nend\n\n@ground\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (ground1 v)\nshow\n\nwhen I receive [next v]\nwait (0.5) seconds\nnext costume\n\n@hazard\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (hazard1 v)\nshow\n\nwhen I receive [next v]\nwait (0.5) seconds\nnext costume\n\n@spring\n\nwhen flag clicked\nswitch costume to (spring1 v)\nhide\nwait until <([costume # v] of [ground v]) = [6]>\ngo to x: (-100) y: (-115)\ncreate clone of (_myself_ v)\nwait until <([costume # v] of [ground v]) = [7]>\ngo to x: (-120) y: (-115)\ncreate clone of (_myself_ v)\ngo to x: (0) y: (-115)\ncreate clone of (_myself_ v)\ngo to x: (120) y: (-115)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (1) layers\nshow\nforever\n    wait until <touching (player v)?>\n    start sound [spring v]\n    switch costume to (spring2 v)\n    wait (0.1) seconds\n    switch costume to (spring3 v)\n    wait (0.1) seconds\n    switch costume to (spring1 v)\nend\n\nwhen I receive [next v]\nwait (0.4) seconds\ndelete this clone\n\n@thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to [front v] layer\nshow\n\n