Skip to content

Latest commit

 

History

History
99 lines (63 loc) · 4.96 KB

readme.md

File metadata and controls

99 lines (63 loc) · 4.96 KB

日本語 / English

YaneuraoGameSDK for Brython

ブラウザゲームをPythonでお手軽に作れるゲームライブラリです。

特長

  • Pythonで書ける。
  • PC、Android/iOS両対応。
  • 簡単に画像を表示したり、音を鳴らしたりできる。
  • キーボード、マウス、スクリーンタッチを透過的に扱える。

原理

Brythonという、ブラウザ上で書いたPythonのコードをJavaScriptに変換してくれるトランスパイラを利用しています。

サンプルページ

実際に本ライブラリで作ったサンプルゲームを以下で公開しています。 キーボード、マウス、スクリーンタッチすべてに対応しています。

sample thumbnail

使い方

本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")

本ライブラリに関して、ドキュメント類は用意していないのですが、ソースコードにコメントがたくさん書いてあるので、サンプルゲームのソースコードと照らし合わせれば使い方はわかるかと思います。

FAQ

ローカル環境で開発すると上のサンプルコードがエラーになります。

上のサンプルプログラムは sample.pyを外部のスクリプトとして指定していますが、この部分はAjaxを用いて読み込まれるため、ローカル環境だとセキュリティエラーになることがあります。(例えば、Chrome 97以降) その場合、外部ファイルから読み込むのではなく、htmlファイルに埋め込む必要があります。

VSCodeを用いているなら、Live Serverという拡張でローカルサーバーを立てて使うことをお勧めします。

VSCode(Visual Studio Code)で開発するときに入力補完が利かないです。

VS Codeで開発する場合、html上に直接Pythonのコードを書いていくと入力補完が利かなくて面倒です。Pythonのコードはファイルを分けて書くことをお勧めします。

VS Codeで開発する時に、yanesdk.pyに対してPylanceが警告をたくさん出します。

yanesdk.pyからimportしているbrowserがBrythonで用意されているライブラリであるため、Pylanceはそれにアクセスできないためです。代わりにダミーのbrowser.py を同じフォルダに配置すると警告は出なくなります。

サンプルのソースコードや画像素材もMIT Licenseが適用されますか?

  • サンプルのソースコードにもMIT Licenseが適用されます。
  • サンプルの画像素材は、いらすとやの素材をリサイズしています。再配布自体は問題ないですが、この画像の著作権は、いらすとやにあります。
  • サンプルの音声素材は、フリー素材を加工したもので、再配布自体は問題ないですが、これも著作権自体は放棄していません。

本ライブラリのガイダンス動画

coming soon..

本ライブラリの製作動画

このSDKを製作しながら、上記のサンプルゲームを作っていく過程を撮影した実況動画です。このSDK自体を作る工程も含まれているので、わりと専門的な内容もありますが、実際に作っていくときの参考になるかと思います。

alt設定

alt設定

第3回、第4回は準備中。