pygameゲーム開発リファレンスガイド
10273 ワード
このブログにはpygameの画像、色、よく使われる形、文字、音響、アニメーションの切り替え、精霊と精霊グループ、衝突検出などの簡単な基礎知識が含まれており、私が書いた別のブログ「python飛行機大戦を実現する」に参考になります.
ヘルプ文書 Pygame の使用方法ゲーム中の画像 ゲームの色 ゲームでよく使われる形 ゲーム中の文字 ゲームのサウンド ゲーム中のアニメーション切り替え 精霊と精霊グループ 衝突検出 ヘルプドキュメント
関連パッケージの導入: pygameを初期化し、 を呼び出す.スクリーンオブジェクトSurface を得る.イベントのリスニング(ゲームメインサイクル):ゲームイベントを処理し、ゲーム状態を更新し、画面に再描画する .
ゲーム中の画像
目次
ヘルプドキュメント
https://www.pygame.org/docs/
Pygameの使い方
import pygame,sys
などpygame.init()
メソッドゲーム中の画像
1.画像のロード#
bg = pygame.image.load('./bg.png')
2.スクリーンに描画screen.blit(bg,bg.get_rect)
3.画素上の座標左上角が座標原点、左上からx軸、上下からy軸
ゲームの色
1.RGBで示す値範囲0~255
2.RGBAは透明色A(alpha):0~255を表します
ゲームでよく使われるシェイプ
1.線を引く# , (11,11) (22,22) 3
pygame.draw.line(screen,red,(11,11),(22,22),3)
2.長方形を描く# (10,20) 100, 200, 3
pygame.draw.rect(screen,red,(10,20,100,200),3)
3.円を描く# (100,100) 100, 3
pygame.draw.circle(screen,red,(100,100),100,3)
ゲーム中の文字
1.フォントのロード# , , ,
font = pygame.font.SysFont(' ',32,True,True)
# , , ttf
font = pygame.font.Font('./ ',32) #
2.フォントをロードした後、Surfaceオブジェクトを取得する必要があります# , ,
text = font.render(' ',True,RED,GREEN)
3.画面に描画# ,
screen.blit(text,text.get_rect())
ゲーム中のサウンド
1.バックミュージックのロード# load()
pygame.mixer.music.load('./music.mp3')
2.音量の設定# 0~1, ,
pygame.mixer.music.set_volume(0.5)
3.バックミュージックを循環再生# play() -1
pygame.mixer.music.play(-1)
ゲーム中のアニメーション切り替え
1.フレームレートはFPSまたはフレーム/秒で制御.制御フレームレート3は、pygame.time.Clock()
のtick(num)により制御.アルゴリズムによる画像切り替え# counter
counter = 0
# counter += 1
# 5 , ,
if counter % 5 == 0:
screen.blit(image,(20,20))
else:
screen.blit(image2,(20,20))
精霊と精霊グループ
1.精霊精霊は、スクリーン上で移動するグラフィックオブジェクトであってもよく、他のグラフィックオブジェクトと対話してもよい小さな画像と見なすことができる.例えば、スクリーンに描かれた矩形、円形は、他の図形と対話できるようにパッケージされています.スプライト画像はpygameが関数を使用して描画した画像であってもよいし、画像ファイルであってもよい.
2.スプライトグループスプライトグループは、スプライトの描画と更新を管理するコンテナです.
衝突検出
1.精霊同士の矩形検出# collide_rect()
pygame.sprite.collide_rect(sprite_1,sprite_2)
# collide_rect_ratio() () , ,
pygame.sprite.collide_rect_ratio(0.5)(sprite_1,sprite_2)
2.精霊同士の円形検出pygame.sprite.collide_circle(sprite_1,sprite_2)
3.精霊同士の画素マスク検出#
pygame.sprite.collide_mask(sprite_1,sprite_2)
4.スプライトとスプライトグループの衝突#
pygame.sprite.spritecollideany(sprite,sprite_group,bool)
#
bg = pygame.image.load('./bg.png')
screen.blit(bg,bg.get_rect)
1.RGBで示す値範囲0~255
2.RGBAは透明色A(alpha):0~255を表します
ゲームでよく使われるシェイプ
1.線を引く# , (11,11) (22,22) 3
pygame.draw.line(screen,red,(11,11),(22,22),3)
2.長方形を描く# (10,20) 100, 200, 3
pygame.draw.rect(screen,red,(10,20,100,200),3)
3.円を描く# (100,100) 100, 3
pygame.draw.circle(screen,red,(100,100),100,3)
ゲーム中の文字
1.フォントのロード# , , ,
font = pygame.font.SysFont(' ',32,True,True)
# , , ttf
font = pygame.font.Font('./ ',32) #
2.フォントをロードした後、Surfaceオブジェクトを取得する必要があります# , ,
text = font.render(' ',True,RED,GREEN)
3.画面に描画# ,
screen.blit(text,text.get_rect())
ゲーム中のサウンド
1.バックミュージックのロード# load()
pygame.mixer.music.load('./music.mp3')
2.音量の設定# 0~1, ,
pygame.mixer.music.set_volume(0.5)
3.バックミュージックを循環再生# play() -1
pygame.mixer.music.play(-1)
ゲーム中のアニメーション切り替え
1.フレームレートはFPSまたはフレーム/秒で制御.制御フレームレート3は、pygame.time.Clock()
のtick(num)により制御.アルゴリズムによる画像切り替え# counter
counter = 0
# counter += 1
# 5 , ,
if counter % 5 == 0:
screen.blit(image,(20,20))
else:
screen.blit(image2,(20,20))
精霊と精霊グループ
1.精霊精霊は、スクリーン上で移動するグラフィックオブジェクトであってもよく、他のグラフィックオブジェクトと対話してもよい小さな画像と見なすことができる.例えば、スクリーンに描かれた矩形、円形は、他の図形と対話できるようにパッケージされています.スプライト画像はpygameが関数を使用して描画した画像であってもよいし、画像ファイルであってもよい.
2.スプライトグループスプライトグループは、スプライトの描画と更新を管理するコンテナです.
衝突検出
1.精霊同士の矩形検出# collide_rect()
pygame.sprite.collide_rect(sprite_1,sprite_2)
# collide_rect_ratio() () , ,
pygame.sprite.collide_rect_ratio(0.5)(sprite_1,sprite_2)
2.精霊同士の円形検出pygame.sprite.collide_circle(sprite_1,sprite_2)
3.精霊同士の画素マスク検出#
pygame.sprite.collide_mask(sprite_1,sprite_2)
4.スプライトとスプライトグループの衝突#
pygame.sprite.spritecollideany(sprite,sprite_group,bool)
# , (11,11) (22,22) 3
pygame.draw.line(screen,red,(11,11),(22,22),3)
# (10,20) 100, 200, 3
pygame.draw.rect(screen,red,(10,20,100,200),3)
# (100,100) 100, 3
pygame.draw.circle(screen,red,(100,100),100,3)
1.フォントのロード
# , , ,
font = pygame.font.SysFont(' ',32,True,True)
# , , ttf
font = pygame.font.Font('./ ',32) #
2.フォントをロードした後、Surfaceオブジェクトを取得する必要があります
# , ,
text = font.render(' ',True,RED,GREEN)
3.画面に描画
# ,
screen.blit(text,text.get_rect())
ゲーム中のサウンド
1.バックミュージックのロード# load()
pygame.mixer.music.load('./music.mp3')
2.音量の設定# 0~1, ,
pygame.mixer.music.set_volume(0.5)
3.バックミュージックを循環再生# play() -1
pygame.mixer.music.play(-1)
ゲーム中のアニメーション切り替え
1.フレームレートはFPSまたはフレーム/秒で制御.制御フレームレート3は、pygame.time.Clock()
のtick(num)により制御.アルゴリズムによる画像切り替え# counter
counter = 0
# counter += 1
# 5 , ,
if counter % 5 == 0:
screen.blit(image,(20,20))
else:
screen.blit(image2,(20,20))
精霊と精霊グループ
1.精霊精霊は、スクリーン上で移動するグラフィックオブジェクトであってもよく、他のグラフィックオブジェクトと対話してもよい小さな画像と見なすことができる.例えば、スクリーンに描かれた矩形、円形は、他の図形と対話できるようにパッケージされています.スプライト画像はpygameが関数を使用して描画した画像であってもよいし、画像ファイルであってもよい.
2.スプライトグループスプライトグループは、スプライトの描画と更新を管理するコンテナです.
衝突検出
1.精霊同士の矩形検出# collide_rect()
pygame.sprite.collide_rect(sprite_1,sprite_2)
# collide_rect_ratio() () , ,
pygame.sprite.collide_rect_ratio(0.5)(sprite_1,sprite_2)
2.精霊同士の円形検出pygame.sprite.collide_circle(sprite_1,sprite_2)
3.精霊同士の画素マスク検出#
pygame.sprite.collide_mask(sprite_1,sprite_2)
4.スプライトとスプライトグループの衝突#
pygame.sprite.spritecollideany(sprite,sprite_group,bool)
# load()
pygame.mixer.music.load('./music.mp3')
# 0~1, ,
pygame.mixer.music.set_volume(0.5)
# play() -1
pygame.mixer.music.play(-1)
1.フレームレートはFPSまたはフレーム/秒で制御.制御フレームレート3は、
pygame.time.Clock()
のtick(num)により制御.アルゴリズムによる画像切り替え# counter
counter = 0
# counter += 1
# 5 , ,
if counter % 5 == 0:
screen.blit(image,(20,20))
else:
screen.blit(image2,(20,20))
精霊と精霊グループ
1.精霊精霊は、スクリーン上で移動するグラフィックオブジェクトであってもよく、他のグラフィックオブジェクトと対話してもよい小さな画像と見なすことができる.例えば、スクリーンに描かれた矩形、円形は、他の図形と対話できるようにパッケージされています.スプライト画像はpygameが関数を使用して描画した画像であってもよいし、画像ファイルであってもよい.
2.スプライトグループスプライトグループは、スプライトの描画と更新を管理するコンテナです.
衝突検出
1.精霊同士の矩形検出# collide_rect()
pygame.sprite.collide_rect(sprite_1,sprite_2)
# collide_rect_ratio() () , ,
pygame.sprite.collide_rect_ratio(0.5)(sprite_1,sprite_2)
2.精霊同士の円形検出pygame.sprite.collide_circle(sprite_1,sprite_2)
3.精霊同士の画素マスク検出#
pygame.sprite.collide_mask(sprite_1,sprite_2)
4.スプライトとスプライトグループの衝突#
pygame.sprite.spritecollideany(sprite,sprite_group,bool)
1.精霊同士の矩形検出
# collide_rect()
pygame.sprite.collide_rect(sprite_1,sprite_2)
# collide_rect_ratio() () , ,
pygame.sprite.collide_rect_ratio(0.5)(sprite_1,sprite_2)
2.精霊同士の円形検出
pygame.sprite.collide_circle(sprite_1,sprite_2)
3.精霊同士の画素マスク検出
#
pygame.sprite.collide_mask(sprite_1,sprite_2)
4.スプライトとスプライトグループの衝突
#
pygame.sprite.spritecollideany(sprite,sprite_group,bool)