【Python】pyxel.init() の引数 scale で argument error
サンプルコードを実行していたら
以下のサイトを参考に実行していたところ。
% python soundwave-form.py
Traceback (most recent call last):
File "soundwave-form.py", line 35, in <module>
App()
File "soundwave-form.py", line 8, in __init__
pyxel.init(255, 155, fps=60, scale=2, border_width=10, border_color=0x0d0015, caption='Pyxel & PyAudio')
TypeError: init() got an unexpected keyword argument 'scale'
2018年当時とは関数の引数の仕様も変わっているというわけですね。
とりあえずググって調べたら
pyxel init scale error でググってヒットしたページに書いてあった。
2022年の時点ではそれぞれ以下のように変更されている。
pyxelでちょい古めのソースを実行する時によくでるエラーパターン
— 人気ひとりぼっち (@neuvecom) 2022年9月5日
pyxel.init(192, 128, scale=8, caption="NIBBLES", fps=60)
scale、captionがもう使われてないので、display_scale、titleに変更
pyxel.KEY_ENTERがもう使えないので、pyxel.KEY_SPACEとかで置き換えてる
確かに古めのコードを実行するときは要注意。
pyxel のバージョンを確認
pip show pyxel コマンドでモジュールのバージョンを確認。
% pip show pyxel
Name: pyxel
Version: 2.0.1
Summary: A retro game engine for Python
Home-page:
Author: Takashi Kitao <takashi.kitao@gmail.com>
Author-email: Takashi Kitao <takashi.kitao@gmail.com>
License: MIT
Location: /.pyenv/versions/3.10.13/lib/python3.10/site-packages
Requires:
Required-by:
現在の仕様を確認する
ちゃんと確認もぜずに実行したのが間違い。
まずは最新バージョンから。
2.0.1 で間違いない。
次にリファレンスで引数を確認。
GitHub > README.ja.md にしっかりと書いてある。
- caption → title
- scale → display_scale
まとめ
ググってサンプルを探して実行する前に。
まずは自分の実行環境を確認しておきましょう。