プログラミング超初心者のゲーム製作 by Pyxel(11日目)

今日は「リソースを作って画面に表示する」を学びます。

今日書いたコード

結果:タクシーを表示

import pyxel

GAME_TITLE = "TAXI PICUP" #ゲームタイトル。定数を定義する

CAR_ACCEL_X = 0.06 #車の左右移動の加速度
CAR_ACCEL_UP = 0.04 #車の前移動の加速度
CAR_ACCEL_DOWN = 0.02 #車の後ろ移動の加速度
MAX_CAR_SPEED = 0.8 #車の最大速度

OBJECT_SPAWN_INTERVAL = 150 #オブジェクトの出現間隔

class OneKeyGame:
    def __init__(self):
        #pyxelを初期化する
        pyxel.init(160, 120, title=GAME_TITLE)

        #リソースファイルを読み込む
        pyxel.load("taxi_picup.pyxres") #pyxel.load関数の呼び出し

        #ゲームをリセットする
        self.is_title = True
        self.reset_game()

        #アプリの実行を開始する
        pyxel.run(self.update, self.draw)

    #ゲームをリセットする
    def reset_game(self): #ゲームで使う変数を一括で初期化
        #得点を初期化する
        self.score = 0

        #出現タイマーを初期化する
        self.timer = 0

        #車を初期化する
        self.car_x = (pyxel.width - 8) / 2 #X座標
        self.car_y = pyxel.height / 4 #Y座標
        self.car_vx = 0 #X移動の速度
        self.car_vy = 0 #Y移動の速度
        self.car_dir = 1 #車の左右の向き(-1:左, +1:右)
        self.is_turbo = False #ターボ中かどうか
        self.is_exploding = False #爆発中かどうか

        #マップの配置を初期化する
        self.survivors = [] #客の配置
        self.rock = [] #岩の配置

    #アプリを更新する
    def update(self):
        pass

    #タクシーを描画する
    def draw_car(self):
        pyxel.blt(
            self.car_x,
            self.car_y,
            0,
            8,
            0,
            8,
            8,
            0,
        )

    #アプリを描画する
    def draw(self):
        #画面を描画する
        self.draw_car()

OneKeyGame()

コードの要点

pyxel.load関数:pyxel.load(file)
fileは読み込むリソースファイル名の文字列

pyxel.blt関数:pyxel.blt(x, y, image_no, u, v, w, h, [colkey])
x:画像を描画するX座標
y:画像を描画するY座標
image_no:参照するイメージバンク番号
u:参照イメージ(描画する画像)の左上のX座標
v:参照イメージ(描画する画像)の左上のY座標
w:参照イメージ(描画する画像)の幅
h:参照イメージ(描画する画像)の高さ
colkey:透明色として扱う色番号。省略可能
画像を描画する関数