Rainbow Platformer

Instructions: Use arrow keys to control.\nIf you hit black, you die.\n(Also white, but only in the last stage).\nDifficulty ★★★☆☆\n≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋\n矢印キーで操作。\n黒色に当たると死にます\n(白色もだけど最後のステージだけです)。\n難易度 ★★★☆☆\n≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋≋\n使用方向键来控制。\n如果你打到黑色，你就会死。\n(也有白色的，但只在最后阶段)。\n难度★★★☆☆

@Stage\n\nwhen I receive [世界の始まり v]\nforever\n    play sound [audio_b9ebbc3044 v] until done\nend\n\n@Player\n\ndefine Spin off screen\nset rotation style [all around v]\nset [player death v] to [1]\nstart sound [crashed oof v]\nset [y v v] to [15]\nrepeat until <(y position) < [-178]>\n    go to [front v] layer\n    turn right (10) degrees\n    change y by (Y v)\n    change [y v v] by (-1)\nend\nset [player death v] to [0]\ngo to [back v] layer\nset rotation style [left-right v]\npoint in direction (90)\ngo to x: (-199) y: (-60)\ngo [forward v] (3) layers\n\nwhen I start as a clone\nset size to (100) %\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-10)\nend\ndelete this clone\n\nwhen I receive [世界の始まり v]\nforever\n    change [color v] effect by (2)\nend\n\nwhen I receive [世界の始まり v]\ngo [forward v] (3) layers\ngo to x: (-199) y: (-60)\nset rotation style [left-right v]\npoint in direction (90)\nset size to (100) %\nset [x v] to [0]\nset [y v] to [0]\nshow\n\nwhen I receive [世界の始まり v]\nhide variable [☁ world record v]\nhide variable [☁ your time v]\nhide\n\nwhen I receive [世界の始まり v]\nhide variable [☁ world record v]\nhide variable [☁ your time v]\nreset timer\nswitch costume to (1 v)\nswitch backdrop to (2 v)\nshow\nforever\n    change y by (1)\n    change [y v] by (-1)\n    if <<key (right arrow v) pressed?> or <<(mouse x) > [1]> and <mouse down?>>> then\n        change [x v] by (1)\n        point in direction (90)\n        create clone of (_myself_ v)\n    end\n    if <<key (left arrow v) pressed?> or <<(mouse x) < [-1]> and <mouse down?>>> then\n        change [x v] by (-1)\n        point in direction (-90)\n        create clone of (_myself_ v)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        set [y v] to [0]\n        if <<key (up arrow v) pressed?> or <<(mouse y) > [50]> and <mouse down?>>> then\n            set [y v] to [15]\n            if <(x) > [0]> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [y v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((0) - (y))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<key (up arrow v) pressed?> and <touching (ground v)?>> or <<mouse down?> and <<touching (ground v)?> and <(mouse y) > [50]>>>> then\n        start sound [suck1 v]\n        set [y v] to [15]\n        create clone of (_myself_ v)\n    end\n    if <touching (magma v)?> then\n        Spin off screen\n    end\n    if <touching (spike v)?> then\n        Spin off screen\n    else\n        if <[-166] > (y position)> then\n            go to x: (-199) y: (-60)\n        end\n    end\n    \n        start sound [smw_spring_jump @ToadfanSchool v]\n        set [y v] to [23]\n        create clone of (_myself_ v)\n        broadcast (アニメーション v)\n    end\n    if <<key (down arrow v) pressed?> or <<[-50] > (mouse y)> and <mouse down?>>> then\n        broadcast (Crouch v)\n        switch costume to (4 v)\n        if <[-166] > (y position)> then\n            go to x: (-199) y: (-60)\n        end\n    else\n        switch costume to (3 v)\n    end\n    if <(Stage) = [11]> then\nend\n\nwhen flag clicked\nhide\nclear graphic effects\n\n@Ground\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nset [stage v] to [1]\n\nwhen I receive [goal v]\nchange [stage v] by (1)\n\nwhen I receive [世界の始まり v]\nshow\ngo to x: (0) y: (0)\ngo to [back v] layer\ngo [forward v] (5) layers\nforever\n    switch costume to (Stage)\nend\n\nwhen flag clicked\nhide\nclear graphic effects\n\nwhen I receive [世界の始まり v]\nforever\n    change [color v] effect by (2)\nend\n\n@Spike\n\nwhen I receive [goal v]\nwait (0.5) seconds\nnext costume\n\nwhen I receive [世界の始まり v]\nswitch costume to (コスチューム2 v)\nhide variable [☁ world record v]\nhide variable [☁ your time v]\nhide\n\nwhen I receive [世界の始まり v]\nshow\nswitch costume to (コスチューム1 v)\n\n@transition\n\nwhen flag clicked\nhide\n\nwhen I receive [goal v]\nset [trans on or off v] to [On]\ngo [forward v] (1) layers\ngo to [front v] layer\nset x to (500)\nshow\nrepeat (6)\n    change x by (-80)\nend\nchange x by (-15)\nwait (0.6) seconds\nset [trans on or off v] to [Off]\nrepeat (5)\n    change x by (-80)\nend\nhide\n\n@スプライト1\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to [front v] layer\ngo to x: (0) y: (0)\n\n@Love fave\n\nwhen flag clicked\n\nwhen I receive [世界の始まり v]\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (15) to (30)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Detector\n\ngo to x: (0) y: (0)\nshow\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\nwhen I receive [世界の始まり v]\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nbroadcast (Thanks v)\n\n@Thanks\n\nwhen I receive [thanks v]\nswitch costume to (costume2 v)\ngo to x: (-210) y: (50)\nshow\ngo to [front v] layer\nstart sound [pop v]\nrepeat (9)\n    change y by (-6)\nend\nrepeat (5)\n    change y by (3)\nend\nrepeat (5)\n    change y by (-3)\nend\nwait (1) seconds\nrepeat (10)\n    change y by (6)\nend\nhide\n\nwhen I start as a clone\ngo to x: (0) y: (-50)\nshow\ngo to [front v] layer\nrepeat (12)\n    change y by (-9)\nend\nrepeat (5)\n    change y by (3)\nend\nrepeat (5)\n    change y by (-1)\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (50)\n        if <(costume [number v]) = [2]> then\n            if <mouse down?> then\n                set [costume v] to [2]\n                repeat (25)\n                    change y by (10)\n                end\n                hide\n                delete this clone\n            end\n        else\n            if <(costume [number v]) = [3]> then\n                if <mouse down?> then\n                    set [costume v] to [1]\n                    repeat (25)\n                        change y by (15)\n                    end\n                    hide\n                    delete this clone\n                end\n            end\n        end\n    else\n        set [ghost v] effect to (0)\n    end\n    if <(Costume) > [0.99]> then\n        repeat (25)\n            change y by (15)\n        end\n        hide\n        delete this clone\n    end\n    hide\n    delete this clone\nend\n\nwhen I receive [begin v]\nset [costume v] to [0.9]\nwait (0.1) seconds\nset [costume v] to [0.9]\nwait (0.2) seconds\nset [costume v] to [0.9]\n\nwhen I receive [世界の始まり v]\nhide\nset [costume v] to [0.9]\n\n@イントロ2\n\nwhen flag clicked\nshow\ngo to x: (0) y: (60)\ngo to [front v] layer\nset [ghost v] effect to (100)\nwait (4) seconds\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\n\nwhen I receive [世界の始まり v]\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nhide\nstop [this script v]\n\n@inntoro\n\nwhen flag clicked\nwait (1.2) seconds\nstart sound [イントロ v]\n\nwhen flag clicked\nclear graphic effects\ngo to [front v] layer\ngo [backward v] (1) layers\ngo to x: (0) y: (0)\nswitch costume to (inntoro v)\nshow\nforever\n    if <not <(costume [number v]) = [320]>> then\n        next costume\n    else\n        broadcast (世界の始まり v)\n        repeat (50)\n            change [ghost v] effect by (2)\n        end\n        hide\n        stop [this script v]\n    end\nend\n\n