pyxelがいつの間にかバージョンアップして、しかも描画が高速化されていた。
インストールだけして使っていなかったので、ちょっと再入門して使ってみた。
python 3.7.xがWindows Storeにあったのでインストールしてみたが、なぜかPATHの設定がされなかったし、まだ不安定との記事を見たので、公式サイトからPythonをインストールした。インストーラでPATHの設定などが選択できるので、当然pythonにPATHを通す設定とPATH文字数制限の解除を選択してインストールした。
そして
pip install pyxel
でインストールは終わり。
こんな感じでタイルを作成し、キャラクター(探検家)もパレットに用意した。
緑色(カラー番号==11)はクロマキーのように透過色にするつもり。
そして、パレット通りの背景を用意して、矢印キーの入力でキャラクターが動くようにした。なお、壁にめり込まないように移動制限もした。
という感じで、とりあえず動かすことに成功した。ウハハーッ。楽しくて笑顔になる。
書いたコードはこんな感じ。
import pyxel flip = True class App: def __init__(self): pyxel.init(128,128) self.x = 30 self.y = 80 # 作成したドット絵やタイルマップの情報を読み込む pyxel.load('asset/test.pyxres') pyxel.run(self.update, self.draw) def update(self): if pyxel.btnp(pyxel.KEY_Q): pyxel.quit() elif pyxel.btnp(pyxel.KEY_SPACE): pyxel.quit() elif pyxel.btnp(pyxel.KEY_RIGHT, 10, 2): self.x = (self.x + 4) % pyxel.width elif pyxel.btnp(pyxel.KEY_LEFT, 10, 2): self.x = (self.x - 4) % pyxel.width elif pyxel.btnp(pyxel.KEY_UP, 10, 2): self.y = (self.y - 4) if self.y < 52: self.y = 52 elif pyxel.btnp(pyxel.KEY_DOWN, 10, 2): self.y = (self.y + 3) if self.y > 112: self.y = 112 def draw(self): # 真っ黒に背景をする pyxel.cls(0) # タイルマップを描画する self.tilemap_draw() self.char_draw() # タイルマップの描画処理 def tilemap_draw(self): base_x = 0 #描画する位置 base_y = 0 #描画する位置 tm = 0 u = 0 #タイルの開始位置(縦) v = 0 #タイルの開始位置(横) w = 16 #タイルの枚数(横) h = 16 #タイルの枚数(縦) pyxel.bltm(base_x,base_y,tm,u,v,w,h) #キャラクターの描画 def char_draw(self): global flip img = 0 w=16 #横幅 h=16 #立幅 colkey=11 #透過色 #キャラクター画像の切り替え if flip == True: rx=32 ry=0 else: rx=48 ry=0 pyxel.blt(self.x, self.y, img, rx, ry, w, h, colkey) if pyxel.frame_count %10 ==0: flip = not(flip) App()