Pyxel でレトロゲームを作ろう!(4):キャラを表示しよう
エディタでキャラクターを描こう!
ゲームに登場するキャラクターをドット絵で書いてみましょう。
エディタを立ち上げたら、イメージエディタで絵を書きましょう。
エディタ説明画像
①のカラーパレットから色をえらんで、②のエリアに、8x8ドットのキャラクターや絵を書きましょう。8x8が難しい場合は、2マス分(8x16ドット)や4マス分(16x16ドット)で描いてもOKです。
描けたら忘れずセーブ!
表示しよう
ではさっそく描いた絵を表示するpythonのコードを書きましょう
from pyxel import *init(128,128)load("my_resource.pyxres")
while True: # ゲームの処理 if btnp(KEY_SPACE): play(0,1)
# 画面の表示 cls(6) text(10,60,"HELLO",5)
#キャラの表示! blt(10,50, 0, 0,0, 8,8, 0)
flip()
blt( )関数
キャラクターの表示には、blt()関数を使用します。
blt関数は、引数をたくさん指定する必要があります。
左から、
- 絵を表示する、ゲーム画面上の座標
- IMAGEバンク番号(0にしとけばOK。エディタ説明画像の③の数字です)
- 表示したい絵がある座標(マウスカーソルを絵の左上に合わせたとき、④に表示されます)
- 表示したい絵の大きさ(横の大きさ、縦の大きさをドット数で指定します)
- 透明にする色の番号(0にしとけばOK。①から透明色を選んだりもできます。左上にある黒が0番、その右が1番と続いて、右下にある白が15番)
という順番で、8つの数値を引数に指定します。
スペースは開けても開けなくても同じ
#どっちも同じblt(10,50,0,0,0,8,8,0)blt(10,50, 0, 0,0, 8,8, 0)
先程のpythonコードでは、blt関数の引数がスペースで離れて書かれていましたが、このスペースは無視されるので、無くても問題ありません。
座標や大きさは縦横セットで扱ったほうがわかりやすくなるので、説明のためにスペースで間を開けてみました。
実際にはどちらの書き方でも問題ないので、自分のやりやすい書き方で記述してください。