検索ガイド -Search Guide-

単語と単語を空白で区切ることで AND 検索になります。
例: python デコレータ ('python' と 'デコレータ' 両方を含む記事を検索します)
単語の前に '-' を付けることで NOT 検索になります。
例: python -デコレータ ('python' は含むが 'デコレータ' は含まない記事を検索します)
" (ダブルクオート) で語句を囲むことで 完全一致検索になります。
例: "python data" 実装 ('python data' と '実装' 両方を含む記事を検索します。'python data 実装' の検索とは異なります。)
当サイトのドメイン名は " getwebtips.net " です。
トップレベルドメインは .net であり、他の .com / .shop といったトップレベルドメインのサイトとは一切関係ありません。
practical_python_design_patterns

Practical Python Design Patterns - Python で学ぶデザインパターン: The Factory Pattern - Part. 1 「第4章: ファクトリーパターン - PyGame でグラフィックスを描画してみよう」の巻 投稿一覧へ戻る

Published 2022年5月24日8:50 by T.Tsuyoshi

SUPPORT UKRAINE

- Your indifference to the act of cruelty can thrive rogue nations like Russia -

Practical Python Design Patterns - The Factory Pattern 編
「第4章: ファクトリーパターン - PyGame でグラフィックスを描画してみよう」の巻

Chapter 4: Factory Pattern
(第4章: ファクトリーパターン - PyGame でグラフィックスを描画してみよう)

前章では我々自身の「ゲーム」開発に取り掛かりました。しかし「何がゲームだ、文字だけじゃん」と思っている方もいるかもしれませんから、ちょっと時間を取って「画面に何かを描画する」方法を見てみたいと思います。
この章ではまず、Python を使用したグラフィックスの基礎を「ちょっとだけ」学びます。利用するのは PyGame パッケージです。同時に factory classes (ファクトリークラス) も作成していきます。
Factory classes は、ある特定のパラメータのセットを受け取り、それを他のクラスのオブジェクトの作成に利用するオブジェクト、を定義します。並行して、こうした factory classes を定義する際のテンプレート (template: 型紙) となる抽象ファクトリークラス (abstract factory classes) も定義しましょう。

Getting Started
(PyGame パッケージ事始め)

仮想環境に入っている状態で以下のコマンドを実行して PyGame パッケージをインストールしましょう:
pip install pygame
さて、PyGame を利用してウィンドウを表示してみます:
graphic_base.py
import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))
仮想環境内で実行してみてください:
python graphic_base.py
見えましたか?一瞬でしたが 幅 800 x 高さ 600 のウィンドウが出現したはずです。おめでとうございます!!初めての画面描画に成功です!!でもさすがに一瞬過ぎますね。もうちょっと眺めてみましょう:
graphic_base.py
from time import sleep
import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))

sleep(5)
画面が表示されてからこのプログラムが終了するまで5秒間 sleep させてみました。今度はしっかりとウィンドウが確認できましたね。
初めて今回のようにウィンドウを描画したときは、私はもう嬉しくて友達を呼んで見せびらかしたものですが、友達は白けていました。あなたに同じような悲しい思いはさせたくありませんから、友達に見せる前に「何か」表示してみましょう!
graphic_base.py
from time import sleep
import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))

pygame.draw.rect(screen, (255, 0, 34), pygame.Rect(42, 15, 400, 320))
pygame.display.flip()

sleep(5)
pygame.draw.rect() 関数は、screen に矩形を描画します。第1引数で描画のターゲットなるウィンドウ、第2引数では描画する矩形の色 (RGB[A])、第3引数で描画する矩形の位置とサイズをそれぞれ指定します: 最初の2つで矩形の左上の座標、3番目で幅、4番目で高さ、となります。
もし pygame.display.flip() 関数を呼び忘れるとスクリーンには何も表示されません。これは、PyGame が画面全体をメモリバッファ上に構築してから画像全体を「実際」のスクリーン上に転写するためです。ですから、スクリーン表示を変更した場合は常に pygame.display.flip() 関数を呼び出す必要があります。
どうぞ色々なカラーで、画面上の色々な場所に、色々な大きさで矩形を描画してみてください。

この投稿をメールでシェアする

0 comments

コメントはまだありません。

コメントを追加する(不適切と思われるコメントは削除する場合があります)