
pyxelããã©ãŠã¶äžã§å®è¡ããŠã¿ã
pythonã®ã¬ããã²ãŒã ãšã³ãžã³ãpyxelãããã©ãŠã¶äžã§å®è¡ã§ããããã«ãªããŸãããäœè ã®kitaoããã®TwitterãããœãŒã¹ã³ãŒããæåããå°ãæ¹é ããŠã¿ãŸãã
ãŸãããã©ãŠã¶ã§å®è¡ãšããäºã¯WebãµãŒããŒãåãããªããã°ãªããŸãããèªåã§Apacheãšããå ¥ããŠãè¯ãã®ã§ãããããããã§ã¯ãã£ãšç°¡åãªæ¹æ³ããããŸãã䜿ã£ãããšã¯ãªãã£ãã®ã§ããpythonã«ã¯æšæºã©ã€ãã©ãªãšããŠéçºçšWebãµãŒããŒãèµ·åãããã®ããããããªã®ã§ããã䜿ããŸãã
åã®ç°å¢ã¯Anacondaãªã®ã§ããã³ãããéããŸãããããŠãããã¥ã¡ã³ãã«ãŒãã«ããããã©ã«ããã«ç§»åããã以äžã®ã³ãã³ããå®è¡ãä»åã¯ãC:\python\web_testããšãããã©ã«ããæ°èŠäœæããŠããŸãã
â»ããã¥ã¡ã³ãã«ãŒããšã¯ãµãŒããŒã«ã¢ã¯ã»ã¹ããããšãã«æåã«èŠãããã©ã«ãã¿ãããªæãã§ãã
python -m http.server 8000æåãããšäžèšã®ãããªã¡ãã»ãŒãžã衚瀺ãããŸãã
Serving HTTP on :: port 8000 (http://[::]:8000/) ...ããããPythonããšã ã衚瀺ãããå Žåã¯ã³ãã³ãããã¡ããšéã£ãŠããŸãããé ã®pythonãpython3ã«å€ãããããŠã¿ãŠãã ããã
ãã®ç¶æ ã§http://localhost:8000ã«ã¢ã¯ã»ã¹ãããšäžèšã®ãããªç»é¢ã衚瀺ãããŸãã

ããã¯ããã¥ã¡ã³ãã«ãŒãã®ãã£ã¬ã¯ããªã衚瀺ãããŠããŸãã詊ãã«é©åœãªãã¡ã€ã«ãé 眮ããŠãªããŒããããšâŠ

ããã«ãindex.htmlããšããååã§ãã¡ã€ã«ãé 眮ãããšèªã¿èŸŒã¿æã«ãããå®è¡ãããŸãããã®èªåå®è¡ããããã¡ã€ã«åã¯èªåã§å€ããããšãã§ãããããã¬ãŒã ã¯ãŒã¯ã䜿ããšå€ãã£ãããããããããŸããããã§ã¯å²æã
ãŸãã¯kitaoããã®Twitterããæã£ãŠããã³ãŒããã
<script src="https://cdn.jsdelivr.net/gh/kitao/pyxel@v1.8.17/wasm/pyxel.js"></script>
<pyxel-run script="
import pyxel
pyxel.init(100, 80)
pyxel.cls(8)
pyxel.line(0, 0, 100, 80, 7)
pyxel.show()
"><pyxel-run>â²ããããindex.htmlãã®ååã§è©²åœãã©ã«ãã«ä¿åããŸãã
ãã©ãŠã¶ã§èŠãŠã¿ããšâŠ

pyxelã®ã³ãŒããå®è¡ãããŠããŸãã
ã³ãŒãã®äžèº«ãšããŠã¯ãpyxel-runãã®ã¿ã°ã§å²ãŸãããšããã«æžããŠããã°è¯ãã¿ããã§ããããããå®è¡ããããã«é ã®jsã©ã€ãã©ãªïŒãå¿
èŠã ãšããããšãïŒ
ãcdn.jsdelivr.netãã¯ãã©ã°ã€ã³ãšãã©ã€ãã©ãªã®é
ä¿¡ãµã€ãã®ããã§ãã

ã°ã©ãã£ãã¯åšãã®æç»åœä»€ã¯åé¡ãªãå®è¡ã§ãããã§ãããšãã£ã¿ãŒã§äœã£ããªãœãŒã¹ãã¡ã€ã«ã¯ããŸãèªã¿èŸŒããã«æå¿µã
ç¶ããŠå®éã®ã¢ããªã±ãŒã·ã§ã³ãåãããŠã¿ãŸãã
ãã¡ããkitaoããã®Twitterã«ã³ãŒããããã®ã§ãŸãã¯ãã¡ããå®è¡ã
<script src="https://cdn.jsdelivr.net/gh/kitao/pyxel@v1.8.17/wasm/pyxel.js"></script>
<pyxel-play root="https://cdn.jsdelivr.net/gh/kitao/pyxel@main/python/pyxel/examples" name="megaball.pyxapp"></pyxel-play>â²é ã®scriptæã¯äžç·ã§ãããpyxelãåããåºç€ã®ãããªãã®ã§ãããããã¶ãããã®æ¬¡ã¯ãããåããµã€ãããäœãåã£ãŠããŠããŸããrootãšnameã®æå®ããããŸããnameã«.pyxapp圢åŒãæå®ããŠããŸãããrootã¯è¯ãåãããªãã
ãšã«ãããã«ãå®è¡ããŠã¿ãŸãã

ãªããåããŸããïŒ
ãšããããšã¯nameã¯å®è¡ãã.pyxappã£ãŠããšã§ããããã§ãããrootã¯ããããã¯ãã®.pyxappãã¡ã€ã«ãããå ŽæïŒã§ããããã
ã¡ãã£ãšæ¹é ããŠã¿ãŸãã
ãŸãã¯åãã.pyxappãã¡ã€ã«ãäœæã以åäœã£ãè¿·è·¯ã²ãŒã ã«ããŸãã.pyxappãã¡ã€ã«ã®äœææ¹æ³ã¯äžèšnoteããåç
§ãã ããã
äœã£ã.pyxappãã¡ã€ã«ãããã¥ã¡ã³ãã«ãŒãã«é 眮ããŸããæ¬¡ã¯index.htmlã®ä¿®æ£ã
<script src="https://cdn.jsdelivr.net/gh/kitao/pyxel@v1.8.17/wasm/pyxel.js"></script>
<pyxel-play root="./" name="pyxel_maze.pyxapp"></pyxel-play>â²ãpyxel-playãã®éšåãå€ããŠããŸãã.pyxappãã¡ã€ã«ã¯index.htmlãšåãéå±€ã«ããã®ã§rootã¯ã./ããnameã¯ãã¡ã€ã«åãã®ãã®ã§ãã
ãã©ãŠã¶ã§èŠãŠã¿ãŸãã

衚瀺ãããŸããã
ç»é¢ãå€ãããªãå Žåã¯ãã©ãŠã¶ãã£ãã·ã¥ãåé€ãããšè¯ããããããŸããã
ãããããã¯ãããã§ããã²ãŒã é åžã®æ·å± ãäžãããŸãããããŒã¿ã«ãµã€ãã®ãããªãã®ãã§ãããããããŸãããäœããèªåã®äœã£ãã²ãŒã ããã©ãŠã¶ã§åããŠããã®ã楜ããã§ããã
ã§ã¯ã§ã¯ããããããšãåºæ¥ãã®ãã

ããããå¥ã®.pyxappãã¡ã€ã«ãindex.htmlã眮ããŸããã
ããã§mazeã®ãªã³ã¯ãã¯ãªãã¯ãããšâŠ

rpgã®ãªã³ã¯ãã¯ãªãã¯ãããšâŠ

nameã®éšåãåçã«åããããšãã§ããã°ãã©ã«ãåããããªããšãåãåããã§ãããã§ãããåçŽã«å®çŸãããšããããããªåœ¢ã§ããããã
ããããé¢çœãããšãã§ãããã§ãããæ¬æ Œçã«ãããšãªããšWebãµãŒããŒã®æ¹ã®ç¥èãå¿ èŠã«ãªãããã§ããä»®æ³ç°å¢ã§ãäœã£ãŠãã£ã¬ã³ãžããŠã¿ãããã¡ãã£ãšèãäžã§ãã
ä»åã¯ãããŸã§ã
èªãã§ããã ãããããšãããããŸããã