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の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。
関連
-
[解決済み】ValueError: 手動フィールド指定から自動フィールド番号指定に切り替えることができない
-
[解決済み] カウンターを値で並べ替えるには?- パイソン
-
[解決済み] KeyError: 'plotly_domain' です。
-
[解決済み] csv.Error: イテレータはバイトではなく文字列を返すべき
-
[解決済み] スクリプトを自動的に再起動させるには?
-
[解決済み] Pylint の無効な定数名
-
[解決済み] urls という名前のモジュールがない
-
[解決済み] ValueError: インデックスが定義されておらず、Seriesに変換できない値を持つフレームを設定できません。
-
[解決済み] Pythonスクリプトの途中ですべての変数をクリアするにはどうすればよいですか?
-
ImportError: cannot import name 'imread' from 'scipy.misc' 問題に対する解決策
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonエラー TypeError: データ型が理解されていない
-
Python 二項対立型ルックアップのサンプルコード
-
[解決済み] ImportError: model_selection という名前のモジュールがありません。
-
[解決済み] SQLAlchemy で SQLite を使って個別の行を返す
-
[解決済み] Pythonで標準エラー出力するには?
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] IndentationError: unindent はどの外側インデントレベルにも一致しません。
-
[解決済み] Pythonで文字列のヌルバイトを見つけるには?
-
[解決済み] python3.2用pycompile。
-
[解決済み] Flaskアプリ "Restarting with stat"