見出し画像

ひさびさに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ファイルに変換することもできるようなので、今度はそちらも試してみたいと思います。


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
note.user.nickname || note.user.urlname

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

ありがとうございます、励みになります!
出版社の社内SE。仕事ではAccess+VBAとかPHP、HTMLなどを使っています。暇な時にほかの言語も勉強したいなと思っています。 ゲーム大好きインドア派。好きなジャンルは格ゲー。