BETA

pyxelであつ森を知ったかぶりする

投稿日:2020-05-17
最終更新:2020-05-17

最近Twitterではあつ森が流行ってますね ゲームキューブ版はやってたなあ
ゲーム始めちゃうと一日中やってしまうのであつ森は買わない!でも正直やりたい…
自分でゲーム作るならOKだよね?プログラミングだし!

ドットでかわいいゲームが作れるpyxel

pyxel公式ドキュメントが丁寧に書かれているので、つまずくことなくインストール完了
(pyenvを入れ直してpython3.8.2の環境にpyxelをインストール)

pyxelで使えるショートカットキーがあるのが親切

  • スクリーンショット:option+1
  • ムービー(GIF):option+2で撮影開始〜option+3で終了&GIF保存

ゲームキャラを作る

pyxelに搭載されているPyxel Editorでドット絵が描ける!
ターミナルでpyxeleditor ファイル名を実行するとエディタが起動
(ファイル名は拡張子なしでコマンド実行しても自動でつけてくれてた)

このエディタでもスクリーンショットのショートカットキー使えた

背景を作る

背景はエディタの左上の□が4つある「タイルマップエディタ」で作れる
右下から背景にしたい画像を選択、左側でドラッグすると画像が貼り付けられる

ゲーム画面を表示する

こちらの記事をお手本にコーディングしました
【Pythonでゲームを作ろう!】レトロな2Dゲームを作ってみた!

コード一式はこちら

draw関数に画面に表示する処理を書く
blt()でエディタで作成した画像を表示、bltm()でタイルマップを表示する
エディタで作成した.pyxresファイルは1枚の画像なのでblt()の第4、5引数に座標を指定して
プレイヤー、家など個々の画像を切り出して画面に表示する
※ 座標は2枚目のエディタ画面のように右側のサムネイルにカーソルを合わせると上部に表示される

def draw(self):  
    """ 画面描画 """  
    # 背景  
    pyxel.cls(7)  
    # bltm(x, y, tm, u, v, w, h, [colkey]) colkey指定なし  
    pyxel.bltm(0, 0, 0, 0, 0, 16, 16)  
    # プレイヤー描画  
    if self.player.active:  
        # blt(x, y, img, u, v, w, h, [colkey]) colkey=5で藍色を透過  
        pyxel.blt(self.player.position[0], self.player.position[1], 0, 0, 0, 16, 16, 5)  
    # 家描画  
    pyxel.blt(self.home.position[0], self.home.position[1], 0, 16, 0, 16, 16, 5)  
    # うさぎ  
    pyxel.blt(16, 24, 0, 48, 0, 16, 16, 5)  

ゲームキャラを動かす

矢印キーで動くようにしました 「>0」とかは画面からはみ出ない制御です

class Player:  
    """ プレイヤーのコントロール """  
    def __init__(self):  
        self.active = True  
        self.position = [48, 47]  

    def action(self):  
        """ プレイヤー移動 """  
        if pyxel.btnp(pyxel.KEY_LEFT) and self.position[0] > 0:  
            self.position[0] -= 10  
        if pyxel.btnp(pyxel.KEY_RIGHT) and self.position[0] < 110:  
            self.position[0] += 10  
        if pyxel.btnp(pyxel.KEY_UP) and self.position[1] > 0:  
            self.position[1] -= 10  
        if pyxel.btnp(pyxel.KEY_DOWN) and self.position[1] < 110:  
            self.position[1] += 10  

超ロークオリティあつ森の完成

全然あつ森じゃない… 女の子が原っぱ駆け巡ってるだけだわ…

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう