pygameゲーム開発リファレンスガイド

10273 ワード

このブログにはpygameの画像、色、よく使われる形、文字、音響、アニメーションの切り替え、精霊と精霊グループ、衝突検出などの簡単な基礎知識が含まれており、私が書いた別のブログ「python飛行機大戦を実現する」に参考になります.

目次

  • ヘルプ文書
  • Pygame
  • の使用方法
  • ゲーム中の画像
  • ゲームの色
  • ゲームでよく使われる形
  • ゲーム中の文字
  • ゲームのサウンド
  • ゲーム中のアニメーション切り替え
  • 精霊と精霊グループ
  • 衝突検出
  • ヘルプドキュメント


    https://www.pygame.org/docs/

    Pygameの使い方

  • 関連パッケージの導入:import pygame,sysなど
  • pygameを初期化し、pygame.init()メソッド
  • を呼び出す.
  • スクリーンオブジェクトSurface
  • を得る.
  • イベントのリスニング(ゲームメインサイクル):ゲームイベントを処理し、ゲーム状態を更新し、画面に再描画する
  • .

    ゲーム中の画像


    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)