Rainbow platformer

Instructions: 絶対旗2回押して　Push the absolute flag twice\n日本語説明は下へ\n\n-Description-\nOperate with arrow keys and w a d keys\nIf you hit a thorn, you will die. be careful.\nshort\nBest regards for ❤ and ⭐!\n\nー説明ー\n矢印キー、w a dキーで操作します\nトゲにあたると死んでしまいます。気をつけて下さい。\n短いです\n❤と⭐もよろしく！

@Stage\n\nwhen flag clicked\nswitch backdrop to (背景1 v)\n\nwhen I receive [イントロ終わり v]\nnext backdrop\n\n@イントロ\n\ndefine (秒) まで待つ\nwait until <(秒) < (timer)>\n\nwhen I start as a clone\nshow\nif <(ID) = [1]> then\n    go to [back v] layer\n    go [backward v] (1) layers\n    switch costume to (まるう v)\n    set [s v] to [100]\n    repeat (30)\n        change [fisheye v] effect by (S)\n        change [s v] by (10)\n    end\n    delete this clone\nend\nif <(ID) = [2]> then\n    go to [back v] layer\n    go [backward v] (1) layers\n    switch costume to (しかくう v)\n    repeat (19)\n        change [o v] by (((100) - (o)) / (3))\n        next costume\n    end\n    delete this clone\nend\nif <(ID) = [3]> then\n    switch costume to (透明 v)\n    set [o v] to [100]\n    switch costume to (フレーム v)\n    set [y v] to [100]\n    repeat (46)\n        change [y v] by (((0) - (Y)) / (3))\n        go to [front v] layer\n    end\n    repeat until <(END) = [1]>\n        go to [front v] layer\n    end\n    repeat (46)\n        change [y v] by (((93) - (Y)) / (3))\n    end\n    go to [front v] layer\n    delete this clone\nend\nif <(ID) = [4]> then\n    switch costume to (透明 v)\n    set [o v] to [100]\n    switch costume to (フレーム2 v)\n    set [y v] to [-100]\n    repeat (46)\n        change [y v] by (((0) - (Y)) / (3))\n        go to [front v] layer\n    end\n    repeat until <(END) = [1]>\n        go to [front v] layer\n    end\n    repeat (46)\n        change [y v] by (((-95) - (Y)) / (3))\n        go to [front v] layer\n    end\n    delete this clone\nend\nif <(ID) = [5]> then\n    set [o v] to [0]\n    go to [back v] layer\n    go [backward v] (3) layers\n    switch costume to (形ぃ2 v)\n    repeat until <(round (o)) = ((100) * (カメラZ))>\n        change [o v] by ((((100) * (カメラZ)) - (o)) / (3))\n        if <(END) = [1]> then\n            delete this clone\n        end\n    end\n    repeat until <(round (o)) = ((300) * (カメラZ))>\n        change [o v] by ((((300) * (カメラZ)) - (o)) / (3))\n        if <(END) = [1]> then\n            delete this clone\n        end\n    end\n    repeat until <(round (o)) = ((500) * (カメラZ))>\n        change [o v] by ((((500) * (カメラZ)) - (o)) / (3))\n        if <(END) = [1]> then\n            delete this clone\n        end\n    end\n    delete this clone\nend\nif <(ID) = [6]> then\n    go to [back v] layer\n    go [backward v] (1) layers\n    switch costume to (形ぃ3 v)\n    repeat (17)\n        next costume\n    end\n    delete this clone\nend\nif <(ID) = [7]> then\n    switch costume to (たて v)\n    go to x: (0) y: (0)\n    set [o v] to [0]\n    移動X [0] Y [0] M [-90] size [100] S [3]\n    repeat until <(END) = [1]>\n        go to [back v] layer\n    end\n    移動X [0] Y [0] M [90] size [1] S [3]\n    delete this clone\nend\nif <(ID) = [8]> then\n    switch costume to (icon v)\n    set [o v] to [0]\n    set [m v] to [90]\n    change [m v] by (1)\n    repeat (50)\n        set [s v] to (((S) * (0.75)) + ((((100) * (カメラZ)) - (o)) * (0.3)))\n        change [o v] by (S)\n        change [m v] by ([abs v] of (((90) - (M)) / (3)) )\n        if <(M) > [360]> then\n            set [m v] to [0]\n        end\n    end\n    repeat (15)\n        change [x v] by (((150) - (X)) / (3))\n        change [m v] by (((-90) - (M)) / (3))\n    end\n    repeat (15)\n        change [x v] by (((-150) - (X)) / (3))\n        change [m v] by (((90) - (M)) / (3))\n    end\n    repeat (15)\n        change [x v] by (((0) - (X)) / (3))\n    end\n    [7] まで待つ\n    delete this clone\nend\nif <(ID) = [9]> then\n    hide\n    [7] まで待つ\n    show\n    switch costume to (name v)\n    set [o v] to [0]\n    set [m v] to [90]\n    change [m v] by (1)\n    repeat (40)\n        set [s v] to (((S) * (0.75)) + ((((100) * (カメラZ)) - (o)) * (0.3)))\n        change [o v] by (S)\n        change [m v] by ([abs v] of (((90) - (M)) / (3)) )\n        if <(M) > [360]> then\n            set [m v] to [0]\n        end\n    end\n    wait (0.3) seconds\n    カメラX [50] Y [0] Z [1] M [0] S [3]\n    カメラX [-50] Y [0] Z [1] M [0] S [3]\n    カメラX [0] Y [0] Z [1] M [0] S [3]\n    [11] まで待つ\n    set [揺れ度 v] to [100]\n    change [end v] by (1)\n    repeat (17)\n        set [揺れx v] to ((([sin v] of ((timer) * (500)) ) * (0.8)) * (揺れ度))\n        set [揺れy v] to ((([cos v] of ((timer) * (500)) ) * (0.8)) * (揺れ度))\n        set [揺れm v] to ((([sin v] of ((timer) * (500)) ) * (0.8)) * ((揺れ度) / (3)))\n        change [揺れ度 v] by (((0) - (揺れ度)) / (3))\n        change [o v] by (((0) - (o)) / (3))\n    end\n    delete this clone\nend\n\ndefine クローン (id) X (x) Y (y) M (m) size (size) 色 (色) 明るさ (明るさ) 透明度 (透明度)\nset [color v] effect to (色)\nset [brightness v] effect to (明るさ)\nset [ghost v] effect to (透明度)\nset [x v] to (x)\nset [y v] to (y)\nset [m v] to (m)\nset [o v] to (size)\nset [id v] to (id)\ncreate clone of (_myself_ v)\nset [id v] to []\n\nwhen I start as a clone\nforever\n    go to x: (((揺れX) + ((X) + ((カメラX) + (カメラ揺れX)))) * (カメラZ)) y: (((揺れY) + ((Y) + ((カメラY) + (カメラ揺れY)))) * (カメラZ))\n    point in direction ((揺れM) + ((M) + ((カメラM) + (カメラ揺れM))))\n    if <<(ID) = [5]> and <(round (o)) > [100]>> then\n        switch costume to (透明 v)\n        set size to ((o) * (カメラZ)) %\n        switch costume to (形ぃ2 v)\n    else\n        set size to ((o) * (カメラZ)) %\n    end\nend\n\nwhen flag clicked\nリセット\nstart sound [Different Heaven - Safe And Sound \[NCS Release\].mp3 v]\n[1.6] まで待つ\nクローン [7] X [0] Y [0] M [90] size [1] 色 [] 明るさ [25] 透明度 []\n[3.5] まで待つ\nクローン [9] X [0] Y [0] M [90] size [1] 色 [] 明るさ [0] 透明度 []\nクローン [8] X [0] Y [0] M [90] size [1] 色 [] 明るさ [0] 透明度 []\n\ndefine リセット\nreset timer\npoint in direction (90)\nset [カメラx v] to [0]\nset [カメラy v] to [0]\nset [カメラm v] to [0]\nset [カメラz v] to [1]\nset [y v] to [0]\nset [s v] to [0]\nset [x v] to [0]\nset [end v] to [0]\nset [o v] to [0]\n\ndefine 揺れ度 (度)\nset [揺れ度 v] to (度)\nrepeat (17)\n    set [揺れx v] to ((([sin v] of ((timer) * (500)) ) * (0.8)) * (揺れ度))\n    set [揺れy v] to ((([cos v] of ((timer) * (500)) ) * (0.8)) * (揺れ度))\n    set [揺れm v] to ((([sin v] of ((timer) * (500)) ) * (0.8)) * ((揺れ度) / (3)))\n    change [揺れ度 v] by (((0) - (揺れ度)) / (3))\nend\n\ndefine 1回転\nset [m v] to [90]\nchange [m v] by (1)\nrepeat (46)\n    change [m v] by ([abs v] of (((90) - (M)) / (3)) )\n    if <(M) > [360]> then\n        set [m v] to [0]\n    end\nend\n\ndefine カメラ揺れ度 (度)\nset [カメラ揺れ度 v] to (度)\nrepeat (12)\n    set [カメラ揺れx v] to ((([sin v] of ((timer) * (500)) ) * (0.8)) * (カメラ揺れ度))\n    set [カメラy v] to ((([cos v] of ((timer) * (500)) ) * (0.8)) * (カメラ揺れ度))\n    set [カメラ揺れm v] to ((([sin v] of ((timer) * (500)) ) * (0.8)) * ((カメラ揺れ度) / (3)))\n    change [カメラ揺れ度 v] by (((0) - (カメラ揺れ度)) / (3))\nend\n\ndefine 移動X (x) Y (y) M (m) size (size) S (s)\nrepeat until <<(round (X)) = (x)> and <<(round (Y)) = (y)> and <<(round (M)) = (m)> and <(round (o)) = (size)>>>>\n    change [x v] by (((x) - (X)) / (s))\n    change [y v] by (((y) - (Y)) / (s))\n    change [m v] by (((m) - (M)) / (s))\n    change [o v] by (((size) - (o)) / (s))\nend\n\nwhen flag clicked\n[3.5] まで待つ\nrepeat (17)\n    カメラ揺れ度 [20]\nend\n\nwhen flag clicked\n[3.5] まで待つ\nrepeat (16)\n    クローン [5] X [0] Y [0] M [90] size [1] 色 [] 明るさ [25] 透明度 []\n    wait (0.5) seconds\nend\nbroadcast (イントロ終わり v)\n\ndefine カメラX (x) Y (y) Z (z) M (m) S (s)\nrepeat until <<(round (カメラX)) = (x)> and <<(round (カメラY)) = (y)> and <<(round (カメラZ)) = (z)> and <(round (カメラM)) = (m)>>>>\n    change [カメラx v] by (((x) - (カメラX)) / (s))\n    change [カメラy v] by (((y) - (カメラY)) / (s))\n    change [カメラm v] by (((m) - (カメラM)) / (s))\n    change [カメラz v] by (((z) - (カメラZ)) / (s))\nend\n\nwhen flag clicked\n[3.5] まで待つ\nぼん [0] [0]\n[5.2] まで待つ\nぼん [150] [0]\nクローン [2] X [100] Y [100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\nクローン [2] X [-100] Y [100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\n[5.5] まで待つ\nぼん [-150] [0]\nクローン [1] X [100] Y [-100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\nクローン [1] X [-100] Y [-100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\n[7] まで待つ\nぼん [0] [0]\n[9.2] まで待つ\nぼん [150] [0]\nクローン [2] X [100] Y [100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\nクローン [2] X [-100] Y [100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\n[9.5] まで待つ\nぼん [-150] [0]\nクローン [1] X [100] Y [-100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\nクローン [1] X [-100] Y [-100] M [90] size [100] 色 [] 明るさ [100] 透明度 []\n\ndefine ぼん (x) (y)\npoint in direction (90)\nrepeat (12)\n    クローン [6] X (x) Y (y) M (direction) size [100] 色 [] 明るさ [100] 透明度 []\n    turn right (30) degrees\nend\n\nbroadcast (イントロ終わり v)\n\n@Player\n\nwhen I receive [next v]\nset [not moving v] to [true]\ngo to x: (-200) y: (0)\nwait (2) seconds\nset [not moving v] to [false]\n\nwhen I receive [death v]\nset [not moving v] to [true]\nstart sound [Crunch v]\ngo to x: (-200) y: (0)\nwait (1) seconds\nset [not moving v] to [false]\n\nwhen I receive [イントロ終わり v]\nset size to (70) %\ngo to x: (-200) y: (0)\nset [jump v] to [0]\nset [speed v] to [0]\nset rotation style [left-right v]\nshow\npoint in direction (90)\nset [not moving v] to [false]\nforever\n    if <(Not moving) = [false]> then\n        if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n            change [speed v] by (1)\n            point in direction (90)\n        end\n        if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>>> then\n            change [speed v] by (-1)\n            point in direction (-90)\n        end\n        set [speed v] to ((speed) * (0.9))\n        change x by (speed)\n        if <touching (stage v)?> then\n            change x by ((speed) * (-1))\n            set [speed v] to [0]\n            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n                if <(speed) < [0]> then\n                    set [speed v] to [10]\n                else\n                    set [speed v] to [-10]\n                end\n                set [jump v] to [14]\n            else\n                set [speed v] to [0]\n            end\n        end\n        change [jump v] by (-1)\n        change y by (jump)\n        if <touching (stage v)?> then\n            change y by ((jump) * (-1))\n            set [jump v] to [0]\n        end\n        change y by (-1)\n        if <touching (stage v)?> then\n            if <<touching (stage v)?> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n                set [jump v] to [15]\n            end\n        end\n        change y by (1)\n        if <<[-180] > (y position)> or <touching (obstacle v)?>> then\n            broadcast (Death v)\n        end\n        if <(x position) > [200]> then\n            broadcast (next v)\n        end\n    end\nend\n\nwhen I receive [イントロ終わり v]\nforever\n    if <<(Stage Number) = [11]> and <(☁ 世界記録) > (time2)>> then\n        set [☁ 世界記録 v] to (タイム)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [イントロ終わり v]\nset volume to (70) %\nforever\n    play sound [DIGM「cointoss」 v] until done\nend\n\nwhen I receive [イントロ終わり v]\nforever\n    change [color v] effect by (1)\nend\n\n@Stage\n\nwhen I receive [next v]\nif <not <(Stage Number) = [11]>> then\n    start sound [Connect v]\n    next costume\nend\n\nwhen I receive [イントロ終わり v]\nset [time2 v] to [0]\nrepeat until <(Stage Number) = [11]>\n    change [time2 v] by (1)\n    wait (1) seconds\nend\n\nwhen I receive [イントロ終わり v]\nshow\nforever\n    set [タイム v] to (join (time2) [秒])\nend\n\nwhen I receive [イントロ終わり v]\nswitch costume to (1 v)\nforever\n    go to x: (0) y: (0)\n    set [stage number v] to (costume [number v])\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [イントロ終わり v]\nforever\n    change [color v] effect by (1)\nend\n\n@obstacle\n\nwhen flag clicked\nhide\n\nwhen I receive [イントロ終わり v]\nshow\nforever\n    switch costume to (Stage Number)\nend\n\n@おねがい\n\nwhen flag clicked\nhide\n\nwhen I receive [イントロ終わり v]\nshow\nset [ghost v] effect to (100)\nforever\n    repeat (50)\n        change [ghost v] effect by (2)\n    end\n    repeat (50)\n        change [ghost v] effect by (-2)\n    end\nend\n\n@NEXT\n\nwhen I receive [next v]\nhide variable [☁ 世界記録 v]\nhide variable [タイム v]\nset [next終了 v] to [0]\nstart sound [文字表示の衝撃音2 v]\nset [みんな集まったか？ v] to [0]\ngo to [front v] layer\nNEXTのクローン作製\n幕を [-100] の明るさでクローンを作る\nwait (0.1) seconds\n幕を [-50] の明るさでクローンを作る\nwait (0.1) seconds\n幕を [-30] の明るさでクローンを作る\nwait (0.1) seconds\n幕を [0] の明るさでクローンを作る\nwait until <(NEXT終了) = [1]>\nshow variable [タイム v]\nshow variable [☁ 世界記録 v]\n\ndefine NEXTのクローン作製\nswitch costume to (コスチューム1 v)\ncreate clone of (_myself_ v)\nswitch costume to (コスチューム2 v)\ncreate clone of (_myself_ v)\nswitch costume to (コスチューム3 v)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    clear graphic effects\n    go to [front v] layer\n    show\n    go to x: (0) y: (-381)\n    repeat until <[-1] < (y position)>\n        change y by (((0) - (y position)) / (5))\n    end\n    broadcast (みんな集まったぞ！ v)\n    broadcast (隠す v)\n    change y by (1)\n    repeat until <[250] < (y position)>\n        change y by ((y position) / (5))\n    end\n    set [next終了 v] to [1]\n    delete this clone\nend\nif <(costume [number v]) = [3]> then\n    show\n    go to [front v] layer\n    go [backward v] (1) layers\n    go to x: (-228) y: (0)\n    repeat until <[-1] < (x position)>\n        change x by (((0) - (x position)) / (7))\n    end\n    wait until <(みんな集まったか？) = [1]>\n    change x by (-1)\n    repeat until <(x position) < [-227]>\n        change x by ((x position) / (7))\n    end\n    delete this clone\nend\nif <(costume [number v]) = [2]> then\n    show\n    go to [front v] layer\n    go [backward v] (1) layers\n    go to x: (228) y: (0)\n    repeat until <(x position) < [1]>\n        change x by (((0) - (x position)) / (7))\n    end\n    wait until <(みんな集まったか？) = [1]>\n    change x by (1)\n    start sound [文字表示の衝撃音1 v]\n    repeat until <[224] < (x position)>\n        change x by ((x position) / (7))\n    end\n    delete this clone\nend\n\nwhen I receive [みんな集まったぞ！ v]\nset [みんな集まったか？ v] to [1]\n\ndefine 幕を (明るさ) の明るさでクローンを作る\nswitch costume to (コスチューム2 v)\nset [brightness v] effect to (明るさ)\ncreate clone of (_myself_ v)\nswitch costume to (コスチューム3 v)\nset [brightness v] effect to (明るさ)\ncreate clone of (_myself_ v)\n\n@ねくすと\n\nwhen I start as a clone\nshow\nif <<(costume [number v]) = [1]> or <<(costume [number v]) = [2]> or <(costume [number v]) = [3]>>> then\n    go to [front v] layer\n    go to x: (0) y: (-342)\n    forever\n        change y by (((0) - (y position)) / (5))\n    end\nelse\n    go to [front v] layer\n    go to x: (-493) y: (0)\n    if <(costume [number v]) = [7]> then\n        forever\n            change x by (((0) - (x position)) / (5))\n        end\n    else\n        forever\n            change x by (((30) - (x position)) / (5))\n        end\n    end\nend\n\nwhen I start as a clone\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [next v]\ngo to [front v] layer\nchange [ステージ v] by (1)\nswitch costume to (コスチューム3 \(1\) v)\nstart sound [Rip v]\nrepeat (7)\n    go to [front v] layer\n    create clone of (_myself_ v)\n    next costume\n    wait (0.1) seconds\nend\nwait (1) seconds\nbroadcast (next Stage v)\n\n@サムネ\n\nwhen [timer v] > (0)\ngo to [front v] layer\n\nwhen I receive [イントロ終わり v]\nforever\n    reset timer\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nhide variable [☁ 世界記録 v]\n\nwhen I receive [イントロ終わり v]\nshow variable [☁ 世界記録 v]\n\nwhen I receive [イントロ終わり v]\nshow variable [タイム v]\n\nwhen flag clicked\nhide variable [タイム v]\n\nwhen I receive [イントロ終わり v]\nforever\n    wait (1) seconds\n    change [タイム v] by (1)\nend\n\n