Back360° platformer ver.2.2

Instructions: ▶Press the flag twice\n▶arrow key operation\n▶If you touch the thorn, it will be from the beginning of \n　the stage.\n-------------------------------------------------------------------------\n▶旗は2回押してください\n▶矢印キー操作\n▶とげに触れるとそのステージの最初からになります

@Stage\n\nwhen flag clicked\nwait (1.5) seconds\nforever\n    play sound [海中のBGM v] until done\nend\n\n@player\n\nwhen I receive [d v]\nset [xv↺ v] to [0]\nset [yv v] to [0]\nswitch costume to (コスチューム2 v)\nset [ghost v] effect to (50)\nset [d v] to [1]\nwait (2) seconds\nset [d v] to [0]\nset [ghost v] effect to (0)\nswitch costume to (コスチューム1 v)\n\nwhen I receive [d v]\npoint in direction (90)\ngo to x: (0) y: (-50)\n\nwhen I receive [next v]\nset [stop 1 v] to [1]\nset [stop v] to [1]\nwait (2) seconds\nset [stop 1 v] to [0]\nset [stop v] to [0]\n\nwhen I receive [start v]\nset [d v] to [0]\nset [ghost v] effect to (0)\nset [brightness v] effect to (0)\nswitch costume to (コスチューム1 v)\ngo to x: (0) y: (-50)\nset rotation style [left-right v]\nshow\nset size to (100) %\npoint in direction (90)\nrepeat (20)\n    change y by (2.5)\nend\nforever\n    if <(stop 1) = [0]> then\n        if <<<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <[0] < (mouse x)>>> or <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <[0] > (mouse x)>>>> or <<<key (up arrow v) pressed?> or <<(mouse y) < [50]> and <mouse down?>>> or <key (w v) pressed?>>> then\n            if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <[0] < (mouse x)>>> or <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <[0] > (mouse x)>>>> then\n                if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <[0] < (mouse x)>>> then\n                    point in direction (90)\n                    switch costume to (コスチューム2 v)\n                    if <<<key (up arrow v) pressed?> or <<(mouse y) < [50]> and <mouse down?>>> or <key (w v) pressed?>> then\n                        switch costume to (コスチューム5 v)\n                    end\n                end\n                if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <[0] > (mouse x)>>> then\n                    point in direction (90)\n                    switch costume to (コスチューム3 v)\n                    if <<<key (up arrow v) pressed?> or <<(mouse y) < [50]> and <mouse down?>>> or <key (w v) pressed?>> then\n                        switch costume to (コスチューム6 v)\n                    end\n                end\n            else\n                if <<<key (up arrow v) pressed?> or <<(mouse y) < [50]> and <mouse down?>>> or <key (w v) pressed?>> then\n                    switch costume to (コスチューム4 v)\n                end\n            end\n        else\n            switch costume to (コスチューム1 v)\n        end\n        change y by (5)\n        change y by (-5)\n        if <(stop) = [0]> then\n            if <<touching (d v)?> and <not <(D) = [1]>>> then\n                start sound [Crunch v]\n                broadcast (d v)\n            end\n        end\n    end\nend\n\n@sterg\n\nwhen I receive [d v]\npoint in direction (90)\ngo to x: (0) y: (350)\n\nwhen I receive [next v]\nwait (0.5) seconds\nset [yv v] to [0]\ngo to x: (0) y: (350)\nwait (1) seconds\ngo to x: (0) y: (350)\npoint in direction (90)\nnext costume\n\nwhen I receive [d v]\ngo to [front v] layer\n\nwhen flag clicked\nforever\n    change y by (1)\n    if <(stop 1) = [0]> then\n        if <<<key (up arrow v) pressed?> or <<(mouse y) < [50]> and <mouse down?>>> or <key (w v) pressed?>> then\n            set [yv v] to [-6]\n            wait (0.3) seconds\n        end\n    end\n    change y by (-1)\nend\n\nwhen I receive [start v]\nswitch costume to (ステージ1 v)\nhide variable [xv↺ v]\nhide variable [yv v]\npoint in direction (90)\ngo to [front v] layer\nshow\ngo to x: (0) y: (350)\nset [xv↺ v] to [0]\nset [yv v] to [0]\ngo to [front v] layer\nforever\n    if <(stop 1) = [0]> then\n        change [yv v] by (0.4)\n        if <<<key (right arrow v) pressed?> or <<[0] < (mouse x)> and <mouse down?>>> or <key (d v) pressed?>> then\n            change [xv↺ v] by (0.15)\n        end\n        if <<<key (left arrow v) pressed?> or <<(mouse x) < [0]> and <mouse down?>>> or <key (a v) pressed?>> then\n            change [xv↺ v] by (-0.15)\n        end\n        set [xv↺ v] to ((Xv↺) * (0.8))\n        turn right (Xv↺) degrees\n        if <touching (player v)?> then\n            change y by (-1)\n            if <touching (player v)?> then\n                change y by (-1)\n                if <touching (player v)?> then\n                    change y by (-1)\n                    if <touching (player v)?> then\n                        change y by (-1)\n                        if <touching (player v)?> then\n                            change y by (-1)\n                            if <touching (player v)?> then\n                                change y by (5)\n                                turn right ((Xv↺) * (-1)) degrees\n                                set [xv↺ v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (Yv)\n        if <touching (player v)?> then\n            change y by ((Yv) * (-1))\n            set [yv v] to [0]\n        end\n    end\nend\n\n@D\n\nwhen flag clicked\n\nwhen I receive [d v]\npoint in direction (90)\ngo to x: (0) y: (300)\n\nwhen I receive [next v]\nnext costume\nforever\n    if <([costume # v] of [sterg v]) = [4]> then\n        hide\n    end\nend\n\nwhen I receive [start v]\nhide variable [xv↺ v]\nhide variable [yv v]\npoint in direction (90)\ngo to [front v] layer\nshow\ngo to x: (0) y: (300)\nshow\nswitch costume to (d1 v)\ngo to [back v] layer\nset [xv↺ v] to [0]\nset [yv v] to [0]\nforever\n    go to x: ([x position v] of [sterg v]) y: ([y position v] of [sterg v])\n    go to (sterg v)\n    point in direction ([direction v] of [sterg v])\nend\n\nwhen I receive [start v]\nforever\n    go to x: ([x position v] of [sterg v]) y: ([y position v] of [sterg v])\n    go to (sterg v)\n    point in direction ([direction v] of [sterg v])\nend\n\n@Respawn\n\nwhen I receive [d v]\nwait (0.1) seconds\ngo to [front v] layer\n\nwhen I receive [next v]\nhide\nwait (1.3) seconds\ngo to [front v] layer\nshow\n\nwhen I receive [start v]\nrepeat (10)\n    go to [front v] layer\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (105) %\n        set [brightness v] effect to (20)\n        if <mouse down?> then\n            set [stop 1 v] to [1]\n            set size to (100) %\n            set [brightness v] effect to (20)\n            wait until <not <mouse down?>>\n            if <touching (mouse-pointer v)?> then\n                broadcast (d v)\n            end\n        end\n    else\n        set [stop 1 v] to [0]\n        set size to (100) %\n        set [brightness v] effect to (0)\n    end\nend\n\n@★★★\n\nwhen I receive [next v]\nhide\nwait (1.3) seconds\nshow\nnext costume\ngo to [front v] layer\n\nwhen I receive [d v]\nwait (0.1) seconds\ngo to [front v] layer\n\nwhen I receive [start v]\ngo to x: (168) y: (-149)\nswitch costume to (コスチューム1 v)\nrepeat (10)\n    go to [front v] layer\nend\n\n@sterg2\n\nwhen I receive [d v]\npoint in direction (90)\ngo to x: (0) y: (300)\n\nwhen I receive [start v]\nswitch costume to (ステージ1 v)\nhide variable [xv↺ v]\nhide variable [yv v]\npoint in direction (90)\ngo to [back v] layer\nshow\ngo to x: (0) y: (0)\nset [stop4 v] to [0]\nset [xv↺ v] to [0]\nset [yv v] to [0]\nforever\n    go to x: ([x position v] of [sterg v]) y: ([y position v] of [sterg v])\n    go to (sterg v)\n    point in direction ([direction v] of [sterg v])\n    if <touching (_edge_ v)?> then\n        hide\n    else\n        if <(stop4) = [0]> then\n            show\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        set [stop4 v] to [1]\n        hide\n        start sound [Connect v]\n        broadcast (NEXT v)\n        next costume\n        wait (2) seconds\n        set [stop4 v] to [0]\n        show\n    end\nend\n\n@NEXT\n\nwhen flag clicked\ngo to x: (0) y: (351)\nhide\n\nwhen I receive [next v]\nshow\ngo to [front v] layer\nglide (0.5) secs to x: (0) y: (0)\nwait (1) seconds\nglide (0.2) secs to x: (0) y: (-351)\nhide\ngo to x: (0) y: (351)\n\n@sameneiruuuuuu\n\nwhen flag clicked\ngo to [front v] layer\nshow\nwait (2) seconds\nbroadcast (start v)\nhide\n\nshow\ngo to [front v] layer\n\n@♡＆☆スプライト5\n\nwhen I receive [start v]\nhide\ngo to x: (0) y: (150)\ngo to [front v] layer\nforever\n    if <not <([costume # v] of [sterg v]) = [3]>> then\n        go to [front v] layer\n        wait (pick random (20) to (40)) seconds\n        go to x: (0) y: (145)\n        switch costume to (1 v)\n        go to [front v] layer\n        show\n        set [ghost v] effect to (100)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        wait (2) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n    end\nend\n\nwhen I receive [start v]\nforever\n    go to [front v] layer\nend\n\n@スプライト6\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to [front v] layer\nshow\ngo to x: (pick random (210) to (-210)) y: (-180)\nrepeat until <<(y position) = [180]> or <<[240] < (x position)> or <(x position) < [-240]>>>\n    go to [front v] layer\n    change y by (3)\n    change x by ((Xv↺) * (-6))\n    change y by (Yv)\nend\ndelete this clone\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\n    wait (pick random (0.2) to (1.0)) seconds\nend\n\n