0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】自作マリオのWindow表示

Posted at

Pygameでシンプルなウィンドウを表示する

マリオをPythonで作成するハンズオン動画を見つけたので、まずは環境構築をしてみる。
参考:【#2 Window表示】マリオを一緒に作ってみませんか!pythonで!【ハンズオン実践解説

1. pygameをインポートして初期化

まず、pygame をインポートし、初期化を行います。

import pygame

pygame.init() を呼び出すことで、ライブラリが正しく動作するように準備されます。

pygame.init()

2. 画面サイズを指定

ウィンドウのサイズを設定します。

W, H = 320, 270
win = pygame.display.set_mode((W, H))

このコードで、横320ピクセル、縦270ピクセルのウィンドウが作成されます。

また、ウィンドウのタイトルを設定することもできます。

pygame.display.set_caption("Pygame Window")

3. イベントループ定義

Pygame では、イベントループを作成し、ウィンドウが閉じられるなどのイベントを処理する必要があります。

running = True
while running:
    for e in pygame.event.get():
        if e.type == pygame.QUIT:
            running = False

pygame.event.get() を使ってイベントを取得し、ウィンドウの × ボタンが押された場合に running = False でループを抜けるようにしています。

4. 背景塗りつぶし

ウィンドウの背景を塗りつぶす処理を追加します。

win.fill((135, 206, 235))  # 空のような水色

ここでは (135, 206, 235) というRGB値を指定し、背景を水色に設定しています。

5. 画面を更新

Pygame では、変更を画面に反映するために pygame.display.flip() を呼び出す必要があります。

pygame.display.flip()

また、FPSの制限を設けることで、処理負荷を抑えます。

clock = pygame.time.Clock()
clock.tick(30)  # 30FPS

完全なコード

import pygame

# 画面サイズを定義
W, H = 320, 270

def main():
    '''メイン関数'''
    # pygame初期化
    pygame.init()
    # 画面を構築
    win = pygame.display.set_mode((W, H))
    pygame.display.set_caption("Pygame Window")
    # クロックを生成
    clock = pygame.time.Clock()

    # 背景色の初期値(黒)
    bg_color = (0, 0, 0)

    # イベントループ
    running = True
    while running:
        for e in pygame.event.get():
            if e.type == pygame.QUIT:
                running = False
            
        # 背景を塗りつぶす
        win.fill((135, 206, 235))

        # 画面の更新
        pygame.display.flip()

        clock.tick(30)  # FPS制限 (30FPS)

    pygame.quit()

# Pythonのファイルが直接実行された場合のみmain()を実行
if __name__ == '__main__':
    main()

このコードを実行すると、シンプルなウィンドウが表示されます。

まとめ

次はマリオ表示についてきじをかきまs

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?