日本語 / English
ブラウザゲームをPythonでお手軽に作れるゲームライブラリです。
- Pythonで書ける。
- PC、Android/iOS両対応。
- 簡単に画像を表示したり、音を鳴らしたりできる。
- キーボード、マウス、スクリーンタッチを透過的に扱える。
Brythonという、ブラウザ上で書いたPythonのコードをJavaScriptに変換してくれるトランスパイラを利用しています。
実際に本ライブラリで作ったサンプルゲームを以下で公開しています。 キーボード、マウス、スクリーンタッチすべてに対応しています。
本GitHubの yanesdk.pyをダウンロードしてお使いください。
以下のようにcdnからbrythonを読み込むようにして、bodyのonloadでbrython()を実行します。sample.pyというPythonで書かれた別のファイルを読み込み、その先頭でyanesdkをimportすれば良いです。
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/[email protected]/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/[email protected]/brython_stdlib.js">
</script>
</head>
<body onload="brython()">
<canvas id="canvas" width="800" height="400" style="cursor:none"></canvas>
<script type="text/python" src="sample.py">
</body>
</html>
# sample.py
from yanesdk import *
Canvas canvas
canvas.clear()
canvas.draw_rect(Vector2D(100,100),Vector2D(200,200),"white")
本ライブラリに関して、ドキュメント類は用意していないのですが、ソースコードにコメントがたくさん書いてあるので、サンプルゲームのソースコードと照らし合わせれば使い方はわかるかと思います。
上のサンプルプログラムは sample.pyを外部のスクリプトとして指定していますが、この部分はAjaxを用いて読み込まれるため、ローカル環境だとセキュリティエラーになることがあります。(例えば、Chrome 97以降) その場合、外部ファイルから読み込むのではなく、htmlファイルに埋め込む必要があります。
VSCodeを用いているなら、Live Serverという拡張でローカルサーバーを立てて使うことをお勧めします。
VS Codeで開発する場合、html上に直接Pythonのコードを書いていくと入力補完が利かなくて面倒です。Pythonのコードはファイルを分けて書くことをお勧めします。
yanesdk.pyからimportしているbrowserがBrythonで用意されているライブラリであるため、Pylanceはそれにアクセスできないためです。代わりにダミーのbrowser.py を同じフォルダに配置すると警告は出なくなります。
- サンプルのソースコードにもMIT Licenseが適用されます。
- サンプルの画像素材は、いらすとやの素材をリサイズしています。再配布自体は問題ないですが、この画像の著作権は、いらすとやにあります。
- サンプルの音声素材は、フリー素材を加工したもので、再配布自体は問題ないですが、これも著作権自体は放棄していません。
coming soon..
このSDKを製作しながら、上記のサンプルゲームを作っていく過程を撮影した実況動画です。このSDK自体を作る工程も含まれているので、わりと専門的な内容もありますが、実際に作っていくときの参考になるかと思います。
第3回、第4回は準備中。