コンテンツにスキップ

Pyxel でレトロゲームを作ろう!(4):キャラを表示しよう

エディタでキャラクターを描こう!

ゲームに登場するキャラクターをドット絵で書いてみましょう。

エディタを立ち上げたら、イメージエディタで絵を書きましょう。

imgediter.jpg

エディタ説明画像

①のカラーパレットから色をえらんで、②のエリアに、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.jpg

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関数の引数がスペースで離れて書かれていましたが、このスペースは無視されるので、無くても問題ありません。

座標や大きさは縦横セットで扱ったほうがわかりやすくなるので、説明のためにスペースで間を開けてみました。

実際にはどちらの書き方でも問題ないので、自分のやりやすい書き方で記述してください。


変数でキャラクターを動かす