ChatGTPでプログラミング学習ー03

1.pyxelに触ってみた

pygameとは別にpyxelというゲーム用モジュールがあるのを聞いていて、pygameとの違いなどを知るためにChatGPTとお話をしたという程度ですかね。
tKinterの場合と同じく、サンプルをお願いしました。

ゲーム開発に面白そうに思いました
サンプルのお願い
import pyxel

class App:
    def __init__(self):
        pyxel.init(160, 120, caption="Pyxel Sample")
        pyxel.load("assets.pyxres")
        pyxel.run(self.update, self.draw)

    def update(self):
        pass

    def draw(self):
        pyxel.cls(0)
        pyxel.blt(50, 50, 0, 0, 0, 16, 16)

App()

この後が大変でした。実行するとpyxelがないと出てきます。

pip install pyxel

を実行すると、すでにあるとのことでした。そこで次のコードを指示に従って、実行しました。

python -m pip install --upgrade pip
pip install pyxel

そして、Pythonのパスの設定方法を教えてもらい、それでもうまくいかないので、sysモジュールをimport して、次のようにしました。

import sys
sys.path.append("C:\\pg\\python311\\lib\\site-packages")
import pyxel

そして、pyxelを最新バージョンに変えることを勧められました。

pip install -U pyxel

caption という引数がサポートされていないようで、これを削除しました。
しかし、Windowが一瞬で消えてしまいます。
この修正として、つぎを提案してくれました。

import pyxel

class App:
    def __init__(self):
        pyxel.init(160, 120, caption="Pyxel Sample")
        pyxel.run(self.update, self.draw)

    def update(self):
        pass

    def draw(self):
        pyxel.cls(0)
        pyxel.rect(10, 10, 20, 20, 11)

App()

今までの修正をした結果が次です。

import sys
sys.path.append("C:\\pg\\python311\\lib\\site-packages")
import pyxel

class App:
    def __init__(self):
        pyxel.init(160, 120)
        pyxel.run(self.update, self.draw)

    def update(self):
        pass

    def draw(self):
        pyxel.cls(0)
        pyxel.rect(10, 10, 20, 20, 11)

App()


最終的に得られた結果です。

結構苦労したのですが、とりあえず、四角のWindowに四角の図形というなんのとりえもないような絵が描けました。

ChatGPTにpyxelの特徴などを聞いてみました。

ピクセルアートに強みですかね。リソースもいろいろと使えるようですね。

2.まとめ

pyxsel は2Dのピクセルアートに適していて、ゲーム用に高速化処理などもされているようですね。リソースの管理なども整理されているようですね。

いまは、pygame でと思っていますが、同時にインポートされて使われることになるのかもしれない。その時に、ぼつぼつ勉強すればいいのかな。



この記事が気に入ったらサポートをしてみませんか?