Python pygame を始めるための基本チュートリアル

WBOY
リリース: 2022-07-29 21:04:27
転載
4533 人が閲覧しました

この記事では、Python に関する関連知識を提供します。pygame が、画像やサウンドを含むビデオ ゲーム用に特別に設計されたクロスプラットフォーム Python モジュールであることは誰もが知っています。以下は Python pygame I の概要です。この情報が皆様のお役に立てば幸いです。

Python pygame を始めるための基本チュートリアル

[関連する推奨事項: Python3 ビデオ チュートリアル ]

pygame の概要

pygame では、次のいずれかを実装できます。 Python ゲームの基本パッケージ。

pygame 実装ウィンドウ

pygame を初期化します。init() は Java クラスの初期化メソッドに似ており、pygame の初期化に使用されます。

pygame.init()

画面を設定します。(500,400) は画面の初期サイズを 500 * 400 に設定します。0 と 32 はより高度な使用法です。このようにして、500*400 の画面をセットアップしました。

surface = pygame.display.set_mode((500, 400), 0, 32)

pygame イベントが設定されていない場合、ウィンドウは点滅します。ここでは pygame イベントをキャプチャします。終了を押さないと、ウィンドウは開いたままになるため、さまざまなコンテンツ表示を簡単に設定できます。

pygame.display.set_caption("My pygame game")

pygame.display,set_caption はウィンドウのタイトルを設定します

import pygame, sys
from pygame.locals import *

pygame.init()

surface = pygame.display.set_mode((500, 400), 0, 32)
pygame.display.set_caption("我的pygame游戏")

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
ログイン後にコピー

画面の背景色を設定します

#ここで背景色を (255, 255,255) に設定し、画面を更新します

# 设置背景颜色
surface.fill((255, 255, 255))
# 更新屏幕
pygame.display.update()
ログイン後にコピー

テキストの追加

最初に Font オブジェクトを取得し、Font オブジェクトをレンダリングして、テキストの位置を設定します。pygame.font.SysFont(None, 40) はテキスト オブジェクトを取得し、テキストをサーフェスとしてレンダリングしますBasicFont.render メソッドの最初のパラメータはテキスト、2 番目はエイリアシングを削除するかどうか、3 番目と 4 番目はテキストの色とテキストの背景色です。次に、ブリットを使用して、画面の領域にテキストをレンダリングします。ここでのレンダリングは画面の塗りつぶし色の後に行う必要があることに注意してください。そうしないとテキストが覆われてしまいます。

# 获取字体对象
basicFont = pygame.font.SysFont(None, 40)
# surface对象
text = basicFont.render('秀儿', True, (255,255,255), (0,255,0))
# 设置文本位置
textRect = text.get_rect()

textRect.centerx = surface.get_rect().centerx
textRect.centery = surface.get_rect().centery
# 将渲染的surface对象更新到屏幕上
surface.blit(text,textRect)
ログイン後にコピー

上の図のように、中国語では文字化けが発生しますが、ここではシステム フォントを取得し、中国語フォントの 1 つをデフォルトのフォントとして設定します。

# 获取当前系统字体
fonts = pygame.font.get_fonts()
print(fonts)
ログイン後にコピー

完全なコード

import pygame,sys
from pygame.locals import *


pygame.init()

surface = pygame.display.set_mode((500, 400), 0, 32)
pygame.display.set_caption("我的pygame游戏")
surface.fill((255, 255, 255))

# 获取字体对象
basicFont = pygame.font.SysFont("方正粗黑宋简体", 48)
# surface对象
text = basicFont.render('秀儿', True, (255,255,255), (0,255,0))
# 设置文本位置
textRect = text.get_rect()

textRect.centerx = surface.get_rect().centerx
textRect.centery = surface.get_rect().centery
# 将渲染的surface对象更新到屏幕上
surface.blit(text,textRect)

pygame.display.update()
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
ログイン後にコピー

多角形の描画

polygon 多角形を描画します。最初のパラメータは画面オブジェクト、2 番目は色、3 番目はポイント文字列です。接続されたタプル、最後の点は最初の点と一致します

import pygame,sys
from pygame.locals import *


pygame.init()

surface = pygame.display.set_mode((500, 400), 0, 32)
pygame.display.set_caption("我的pygame游戏")
surface.fill((255, 255, 255))

pygame.draw.polygon(surface, (0, 0, 255), ((50, 40), (100, 100), (120, 80), (50, 40)))

pygame.display.update()
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
ログイン後にコピー

直線を描く

lineメソッド、最初のパラメータは画面オブジェクト、色と 2 つのポイントが続き、最後のパラメータは線の幅です

pygame.draw.line(surface, (0, 0, 255), (50, 40), (100, 100), 10)
ログイン後にコピー

円の描画

circle は円を描画するために使用されます。最初のパラメータと 2 番目のパラメータは画面オブジェクトと色で、次に円の中心と半径、最後のパラメータは幅を表します。0 に設定すると、実際の円になります。

pygame.draw.circle(surface, (0, 0, 255), (50, 40), 20, 10)
ログイン後にコピー

楕円の描画

最初のパラメータと 2 番目のパラメータは上記と同じで、3 番目のパラメータは x の左上隅を指定します。はそれぞれ x 軸と y 軸、次に は x と y の半径、最後のものは幅です

pygame.draw.ellipse(surface, (0, 0, 255), (50, 40, 20, 10), 2)
ログイン後にコピー

長方形を描画します

描画する四角形を描画します長方形の場合、最初と 2 番目のパラメータは上記と同じです。3 番目のパラメータはそれぞれ左上隅と右下隅を指定します

pygame.draw.rect(surface, (0, 0, 255), (50, 40, 20, 10))
ログイン後にコピー

[関連する推奨事項:

Python3 ビデオ チュートリアル]

以上がPython pygame を始めるための基本チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート