プラットフォーマー　#games #art# platformer #scroll#music#animation#story

Instructions: スペースキー、矢印キー、WASDキー、タップで動かす\n赤い物体に触れると即死\n落下すると即死\n太陽がゴール\nMove with space key, arrow keys, WASD key, tap\nIf you touch the red object, you will die instantly.\nInstant death if you fall\nthe sun is the goal\n

@Stage\n\nset [your time v] to (length of (timer))\n\nwhen I receive [goal v]\nset [goal v] to [y]\nif <(☁ world record) > (your time)> then\n    set [☁ world record v] to (your time)\nend\nshow variable [☁ world record v]\n\nwhen flag clicked\nset [goal v] to [n]\nhide variable [☁ world record v]\nforever\n    if <(Goal) = [n]> then\n        wait (1) seconds\n        change [your time v] by (1)\n    end\nend\n\n@Player\n\nwhen flag clicked\nswitch costume to (player v)\ngo to x: (0) y: (-20)\nset [power:x v] to [0]\nset [power:y v] to [0]\nset [camera_x v] to [-200]\nset [camera _y v] to [-20]\nset [x v] to [-200]\nset [y v] to [-20]\nset [reboot:x v] to [-200]\nset [reboot:y v] to [-20]\nbroadcast (start v)\n\ndefine control\nchange [power:y v] by (-1)\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<(mouse x) > [0]> and <mouse down?>>>> then\n    change [power:x v] by (1.2)\nend\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<[0] > (mouse x)> and <mouse down?>>>> then\n    change [power:x v] by (-1.2)\nend\nset [power:x v] to ((power:x) * (0.88))\nchange x by (power:x)\nrepeat (5)\n    if <touching (stage v)?> then\n        change y by (1)\n    end\nend\nif <touching (stage v)?> then\n    change y by (-5)\n    position:x (() - ((power:x) / ([abs v] of (power:x) ))) ([ceiling v] of ([abs v] of (power:x) ) )\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>>> then\n        set [power:y v] to [14]\n        set [power:x v] to ((8) - (<(power:x) > [0]> * (17)))\n    else\n        set [power:x v] to [0]\n    end\nend\nchange y by (power:y)\nif <touching (stage v)?> then\n    position:y (() - ((power:y) / ([abs v] of (power:y) ))) ([ceiling v] of ([abs v] of (power:y) ) )\nend\nchange y by (-1.1)\nif <<touching (stage v)?> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>>>> then\n    set [power:y v] to [15]\nend\nchange y by (1.1)\nif <<(Y) < [-400]> or <touching (dangerous v)?>> then\n    Start Position\nend\n処理\nbroadcast (program2 v)\n\nwhen I receive [program v]\ncontrol\n\ndefine 処理\nset [player:x v] to (x position)\nset [player:y v] to (y position)\nchange [x v] by ((x position) - ((X) - (Camera_x)))\nchange [y v] by ((y position) - (((Y) - (Camera _y)) - (20)))\nchange [camera_x v] by ([floor v] of (((X) - (Camera_x)) * (0.1)) )\nchange [camera _y v] by ([floor v] of (((Y) - (Camera _y)) * (0.2)) )\nset x to ((X) - (Camera_x))\nset y to (((Y) - (Camera _y)) - (20))\n\ndefine position:x (direction) (number)\nif <(power:x) = [0]> then\n    stop [this script v]\nend\nset [i v] to [0]\nrepeat until <<not <touching (stage v)?>> or <(i) = ((number) + (1))>>\n    change [i v] by (1)\n    change x by (direction)\nend\nchange x by (() - ((direction) * (((number) + (1)) * <<(i) = ((number) + (1))> and <touching (stage v)?>>)))\n\ndefine position:y (direction) (number)\nif <(power:y) = [0]> then\n    stop [this script v]\nend\nset [i v] to [0]\nrepeat until <<not <touching (stage v)?>> or <(i) = ((number) + (1))>>\n    change [i v] by (1)\n    change y by (direction)\nend\nchange y by (() - ((direction) * (((number) + (1)) * <<(i) = ((number) + (1))> and <touching (stage v)?>>)))\nset [power:y v] to [0]\n\ndefine Start Position\ngo to x: (0) y: (-20)\nset [power:x v] to [0]\nset [power:y v] to [0]\nset [camera_x v] to (reboot:x)\nset [camera _y v] to (reboot:y)\nset [x v] to (reboot:x)\nset [y v] to (reboot:y)\n\nwhen flag clicked\nforever\n    switch costume to (player v)\n    if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (player6 v)\n    end\n    if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        switch costume to (player7 v)\n    end\n    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        switch costume to (player8 v)\n    end\n    if <<<key (s v) pressed?> or <key (down arrow v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> then\n        switch costume to (player9 v)\n    end\n    if <<<<key (d v) pressed?> or <key (right arrow v) pressed?>> and <<key (w v) pressed?> or <key (up arrow v) pressed?>>> or <<mouse down?> and <<(mouse y) > (y position)> and <(mouse x) > (x position)>>>> then\n        switch costume to (player2 v)\n    end\n    if <<<<key (a v) pressed?> or <key (left arrow v) pressed?>> and <<key (w v) pressed?> or <key (up arrow v) pressed?>>> or <<mouse down?> and <<(x position) > (mouse x)> and <(mouse y) > (y position)>>>> then\n        switch costume to (player3 v)\n    end\n    if <<<<key (s v) pressed?> or <key (down arrow v) pressed?>> and <<key (d v) pressed?> or <key (right arrow v) pressed?>>> or <<mouse down?> and <<(mouse y) > (y position)> and <(mouse x) > (x position)>>>> then\n        switch costume to (player5 v)\n    end\n    if <<<<key (s v) pressed?> or <key (down arrow v) pressed?>> and <<key (a v) pressed?> or <key (left arrow v) pressed?>>> or <<mouse down?> and <<(y position) > (mouse y)> and <(x position) > (mouse x)>>>> then\n        switch costume to (player4 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (goal v)?> then\n        broadcast (Goal v)\n    end\nend\n\n@Stage\n\nwhen flag clicked\nhide\nStage [0] [0] [1]\nStage [480] [0] [2]\nStage [960] [0] [3]\nStage [960] [372] [4]\nStage [1281] [600] [5]\nStage [1800] [820] [6]\nStage [2000] [1200] [7]\nStage [1600] [1550] [8]\nStage [1120] [1550] [9]\nStage [1200] [1900] [10]\nStage [1682] [2031] [11]\nStage [2162] [2031] [12]\nStage [2850] [1700] [13]\nStage [3370] [1720] [14]\nStage [3900] [2200] [15]\nStage [4470] [2212] [16]\nStage [4720] [2212] [17]\nStage [4800] [2362] [18]\nStage [4800] [2740] [19]\nStage [4750] [3250] [20]\nStage [4750] [3628] [21]\nStage [4400] [3800] [22]\nswitch costume to (0 v)\nbroadcast (program v)\n\ndefine Stage (x) (y) (number)\nswitch costume to (0 v)\nset [my_x v] to (x)\nset [my_y v] to (y)\nswitch costume to ((number) + (1))\nset [my_n v] to ((number) + (1))\ncreate clone of (_myself_ v)\n\ndefine 移動 (x) (y)\nswitch costume to (0 v)\ngo to x: (x) y: (y)\nif <<([abs v] of (x) ) > ([abs v] of (x position) )> or <([abs v] of (y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (My_n)\n\nwhen I receive [program2 v]\nif <(costume [number v]) = [1]> then\n    broadcast (program v)\nelse\n    移動 ((My_x) - (Camera_x)) ((My_y) - (Camera _y))\nend\n\nwhen I start as a clone\nshow\n\nStage [0] [0] [1]\nStage [0] [0] [1]\n\n@dangerous\n\ndefine Stage (x) (y) (number)\nswitch costume to (0 v)\nset [my_x v] to (x)\nset [my_y v] to (y)\nswitch costume to ((number) + (1))\nset [my_n v] to ((number) + (1))\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\ngo to [back v] layer\nshow\n\nwhen flag clicked\nhide\nStage [500] [0] [1]\nStage [1220] [735] [2]\nStage [1400] [1600] [3]\nStage [1400] [1950] [4]\nStage [2000] [1960] [5]\nswitch costume to (0 v)\nbroadcast (program v)\n\ndefine 移動 (c:x) (c:y)\nswitch costume to (0 v)\ngo to x: (c:x) y: (c:y)\nif <<([abs v] of (c:x) ) > ([abs v] of (x position) )> or <([abs v] of (c:y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (My_n)\n\nwhen I receive [program2 v]\nif <(costume [number v]) = [1]> then\n    broadcast (program v)\nelse\n    移動 ((My_x) - (Camera_x)) ((My_y) - (Camera _y))\nend\n\nStage [960] [372] [4]\nStage [1281] [600] [5]\nStage [1800] [820] [6]\nStage [2000] [1200] [7]\nStage [1600] [1550] [8]\nStage [1120] [1550] [9]\n\n@Goal\n\ndefine Stage (x) (y) (number)\nswitch costume to (0 v)\nset [my_x v] to (x)\nset [my_y v] to (y)\nswitch costume to ((number) + (1))\nset [my_n v] to ((number) + (1))\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nshow\nStage [4400] [4000] [1]\nswitch costume to (0 v)\nbroadcast (program v)\n\ndefine 移動 (c:x) (c:y)\nswitch costume to (0 v)\ngo to x: (c:x) y: (c:y)\nif <<([abs v] of (c:x) ) > ([abs v] of (x position) )> or <([abs v] of (c:y) ) > ([abs v] of (y position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (My_n)\n\nwhen I receive [program2 v]\nif <(costume [number v]) = [1]> then\n    broadcast (program v)\nelse\n    移動 ((My_x) - (Camera_x)) ((My_y) - (Camera _y))\nend\n\nstop [other scripts in sprite v]\n\ngo to [back v] layer\nshow\nforever\n    if <touching (player v)?> then\n        broadcast (Goal v)\n    end\nend\n\nwhen I start as a clone\n\n@time\n\ndefine (clone) number\nif <(your count) < (length of (clone))> then\n    change x by (17)\n    change [your count v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nforever\n    set size to (100) %\n    show\n    set [number v] to (length of (your time))\n    forever\n        switch costume to (letter (Number) of (your time))\n    end\nend\n\nwhen flag clicked\nshow\nset size to (100) %\nswitch costume to (0 v)\ndelete this clone\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\ngo to [front v] layer\nset [your time v] to [0]\nset [your count v] to [0]\ngo to x: (0) y: (130)\ncreate clone of (_myself_ v)\nchange [your count v] by (1)\nwait (0.1) seconds\nforever\n    (your time) number\nend\n\nwhen I receive [goal v]\nstop [this script v]\n\n@Sprite1\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    play sound [TheFatRat - Xenogenesis \(mp3jerk.com\).mp3 v] until done\n    wait (3) seconds\nend\n\nturn right (15) degrees\n\n