4回目:pygameの使い方まとめ|ゲームに効果音とBGMを付ける方法

前回は、キャラクターをマウスで動かしたり、キーボードで動かしたりしましたが、今回はその動きに音を付けていきたいと思います。

ゲームに音楽はつきものですからね。

キーボードで動かす(長押し非対応)

まずは、音楽を付ける前の「キーボードで動かす」というものから作成します。

ソースコード


#-*- coding:utf-8 -*-
import pygame
from pygame.locals import*
import sys

(w,h)=(640,480)

pygame.init()				#初期化
screen=pygame.display.set_mode((w,h))		#スクリーンの設定
pygame.display.set_caption("サウンド")

Img=pygame.image.load("a.jpg").convert_alpha()	#画像のロード
rect=Img.get_rect()		

while(1):

 screen.fill((0,0,255))
 screen.blit(Img,rect)
 pygame.display.update()
 
 for event in pygame.event.get():
  if event.type==QUIT:
   sys.exit()
   
  if event.type==KEYDOWN:
   if event.key==K_LEFT:
    rect.move_ip(-10,0)
 	
   if event.key==K_RIGHT:
    rect.move_ip(10,0)
   
   if event.key==K_UP:
    rect.move_ip(0,-10)
 
   if event.key==K_DOWN:
    rect.move_ip(0,10)

BGMと音楽を付ける

ソースコード


#-*- coding:utf-8 -*-
import pygame
from pygame.locals import*
import sys

(w,h)=(640,480)

pygame.init()				#初期化
screen=pygame.display.set_mode((w,h))		#スクリーンの設定
pygame.display.set_caption("サウンド")

Img=pygame.image.load("a.jpg").convert_alpha()	#画像のロード
rect=Img.get_rect()		

sound=pygame.mixer.Sound("aa.wav")		#効果音の設定

pygame.mixer.music.load("Claudio_The_Worm.mp3")	#BGMの設定
pygame.mixer.music.play(-1)			#BGMの出力

while(1):

 screen.fill((0,0,255))
 screen.blit(Img,rect)
 pygame.display.update()
 
 for event in pygame.event.get():
  if event.type==QUIT:
   sys.exit()
   
  if event.type==KEYDOWN:
   if event.key==K_LEFT:
    rect.move_ip(-10,0)
    sound.play()		#効果音の出力
   if event.key==K_RIGHT:
    rect.move_ip(10,0)
    sound.play()
   if event.key==K_UP:
    rect.move_ip(0,-10)
    sound.play()
   if event.key==K_DOWN:
    rect.move_ip(0,10)
    sound.play()

ここで重要なところは


sound=pygame.mixer.Sound("aa.wav")	#効果音の設定
sound.play()				#効果音の出力

pygame.mixer.music.load("Claudio_The_Worm.mp3")	#BGMの設定
pygame.mixer.music.play(-1)			#BGMの出力 (-1)でループ

の二つです。

効果音の設定のSoundはmp3の設定はできないようでした。

wavかoggを使用しましょう。

音楽ファイルの場所は、プログラムと同じ階層です。

ファイルのパスを設定すれば、場所を変更しても大丈夫です。

効果音のようにたくさん使う音は、Soundを使用した方がいいです。

まとめ

今回は、比較的簡単な内容だったと思います。

簡単ですが、とても大切なことです。