1. ホーム
  2. スクリプト・コラム
  3. パイソン

Pygame Displayモジュールの使用方法

2022-01-27 21:55:39

Pygameはゲームのメインウィンドウを作成するためにpygame.displayモジュールのメソッドを使用します。

screen = pygame.display.set_mode(size=(),flags=0)



上の関数は、よく使われる2つのパラメータを持っています。

  • size: メインウィンドウの大きさを設定するタプルパラメータ
  • flags: フルスクリーンウィンドウ、ボーダーレスウィンドウの作成など、作成されるメインウィンドウのスタイルを示す関数フラグビットです。flags パラメータの値は下表のとおりです。

<テーブル フラグビット 機能 pygame.FULLSCREEN フルスクリーンウィンドウを作成します。 pygame.HWSURFACE ハードウェアアクセラレーションによるウィンドウを作成します。FULLSCREENと一緒に使用する必要があります。 pygame.OPENGL OPENGLレンダリングウィンドウを作成します。 pygame.RESIZABLE サイズ変更可能なウィンドウを作成します。 pygame.DOUBLEBUF ダブルバッファウィンドウを作成します。HWSURFACEまたはOPENGLで使用することをお勧めします。 pygame.NOFRAME ボーダーのないウィンドウを作成します。

コンピュータゲームを経験した人なら誰でも知っていることだが、プログラムを実行すると、デスクトップにゲームのメインウィンドウが表示される。メインウィンドウにテキスト面を配置する必要がある場合、テキストを含むサーフェスオブジェクトを作成し、それをメインウィンドウに貼り付ける必要があります。簡単に言うと、絵Aを別の絵Bに貼り付けるということです。

メインウィンドウ(画面)は、ゲームプログラムの中で一番大きなサーフェスオブジェクトに相当し、この一番大きな「キャンバス」の中に、長方形として存在する他の「小さいサーフェス」オブジェクトを追加することができます。Surfaceオブジェクトは、次のようにしてメインウィンドウに貼り付けることができます。

scrren.blit(source, dest, area=None, special_flags = 0)


上記のパラメータについて、以下に簡単に説明します。

  • ソースです。貼り付ける Surface オブジェクトを示します。
  • dest: メインウィンドウ内の ID の座標位置。(x,y) タプル、(x,y,width,height) タプル、または Rect オブジェクトのいずれかを受け付ける。
  • area: Rect オブジェクトを受け付ける。デフォルトは None で、指定された場合、キーイング操作、すなわち画面の指定された領域に希望のコンテンツを表示することと等価である。
  • special_flags:オプションのパラメータで、Pygame.1.8の新機能です。対応する位置のブレンド方法を指定するために使用します。このパラメータが提供されない場合、デフォルトでソースの色がスクリーンの色より優先されます。

ゲームのメインウィンドウを作成するだけでなく、displayモジュールは以下の表に示すように、ゲームウィンドウの名前を設定するなど、多くの"display"関連のメソッドを提供します。

import sys
import pygame
# pygame must be initialized before it can be used
pygame.init()
#Set the main screen window
screen = pygame.display.set_mode((400,400))
#fill the background color of the main window, parameter value RGB (color tuple)
screen.fill((156,156,156))
#Set window title
pygame.display.set_caption('c Language Chinese')
# If the following main loop code is not present, the result will run in a flash
while True:
    # Loop to get events and listen for them
    for event in pygame.event.get():
        # Determine if the user clicked the close button
        if event.type == pygame.QUIT:
            # Uninstall all modules
            pygame.quit()
            # Terminate the program
            sys.exit()
    #Update screen content
    pygame.display.flip()


プログラムは以下のように実行されます。

pygame.display モジュールは、次の表に示すように "display" に関連する他の多くのメソッドも提供します。

<テーブル メソッド名 説明 pygame.display.get_surface()を使用します。 現在表示されている Surface オブジェクトを取得します。 pygame.display.flip() 画面に表示される Surface オブジェクト全体を更新します。 pygame.display.update() ソフトウェアインターフェイスの表示の一部を更新します。 pygame.display.Info() 表示インターフェースに関する情報を含む VideoInfo オブジェクトを生成します。 pygame.display.set_icon()を実行します。 ゲームアイコンを左上に設定します。アイコンサイズは32*32です。 pygame.display.iconify()を使用します。 表示されているメインウィンドウ、Surface オブジェクトを最小化、または非表示にします。 pygame.display.get_active()を使用します。 現在のディスプレイが画面上にある場合はTrueを、ウィンドウが非表示で最小化されている場合はFalseを返します。

Pygame Displayモジュールの使い方についての記事は以上です。Pygame Displayモジュールの詳細については、Script Houseの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。