見出し画像

ひさびさにpyxelで遊ぼうと思ったら詰まった。

最近仕事が忙しかったり、PS4のフリープレイでバットマンになっていたりでpyxelをいじる機会が中々無かったのですが、ひさびさに遊んでみました。

PC自体がおかしくなっていたこともあり、Anaconda自体から入れ直してみました。が、以前のファイルがなぜか動かない。ソースはいじってないし、なんじゃこれ。結果的には解決したのですが、思ったより時間がかかってしまったので記録しておきます。

まず、AnacondaのSpyderでの実行時に出てきたエラーが以下になります。

OSError: exception: access violation reading 0x000000E6C0BF0000

何のこっちゃですね。エラー箇所はpyxelの__init__.pyの中。イメージソースの.pyxelファイルを読むところのような気がします。

この原因はpyxelのバージョンアップに伴うイメージソースの拡張子変更でした。何の気なしに入れていたのはバージョン1.2でイメージソースは.pyxelから.pyxresに変更されていました。

というわけで以前作った.pyxelファイルを.pyxresファイルに変換していきたいと思います。この変換機能はバージョン1.1で使えるみたいなので、Anacondaの別環境に以下のコマンドでインストールします。

pip install pyxel==1.1.8

この状態でターミナルからpyxeleditorコマンドで該当の.pyxelファイルを開いてみると、

load as old pyxel format

「旧フォーマットで読み込まれた」旨のメッセージが出てきました。
この状態でpyxeleditorから保存を実行すると新しい.pyxresの形式でファイルが保存されます。ここまではOKそうです。

あとは以前書いた.pyファイルの修正です。イメージソースのファイル名を変更すると、動くようになりました。これでたぶん大丈夫ですね。

アップデートされたpyxelにはいろいろな追加機能がありそうです。.exeファイルに変換することもできるようなので、今度はそちらも試してみたいと思います。


ここまで読んでいただきありがとうございます!