Pythonでゲーム用にビットマップフォントを読み込む話
Pyxel というPythonのライブラリがありまして。これは『レトロゲームエンジン』をうたっていて、 いくつかの単純な命令を用いてレトロゲームを作れる(ドット絵やピコピコBGM作る機能まで付いてる)ものなのですが
この子、外部フォントを読み込んで描画する機能が無いんですね。 issueの#27 を見るに、フォント画像を用意してください、フォントファイルの読み込みはPyxelの範囲を超えます。というスタンスのようで。
なので書きました。単純にPillowでビットマップに描画してイメージバンクに転写して、コピーして使うだけ。
もちろんビットマップに描画したものを通常の画像ファイルとして保存してしまえば、実行時にフォントファイルは必要なくなります。
半角カタカナは位置計算が面倒なので今回は入れてませんが、技術的には何の支障もなく使えます。
(ちなみに、もしPyxelの素の環境にあるライブラリしか使ってはいけない縛りがあったとしても、Pillow(PIL)とnumpyはPyxelの依存ライブラリにあるので使えます。)
このコードがいつか誰かのたすけになることを願って
(ゼロピクセルフリーフォントさんところのフォントはどれもゲーム創作欲をガンガンに焚きつけてくるので、今回書いたコードは自分でもしっかり使うかと思われます)
スペシャルサンクス:
- x0y0pxFreeFont ゼロピクセルフリーフォント
- 今回使用したフォント x8y12pxTheStrongGamer ザ・ストロングゲーマー
- Pyxel
- Pythonでレトロゲーム作るやつ 公式見ればだいたいわかる
- Zen of Python 日本語訳
- プログラマが持つべき心構え (The Zen of Python) - Qiita
|
|