久しぶりにPythonに触れて、はじめてPygameを使用してゲームのようなものを作成してみた。
現れた熊を倒すゲーム。狙撃するとクリアとなる。
import pygame
from pygame.locals import *
import sys
def kumaEvent():
soundKenju = pygame.mixer.Sound("music/拳銃を撃つ.mp3")
soundSogeki = pygame.mixer.Sound("music/狙撃銃発射.mp3")
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_x:
soundKenju.play()
if event.key == K_y:
soundSogeki.play()
return 1
def main():
gamescene = 0
pygame.init()
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Test")
font = pygame.font.Font(None, 75)
kuma = pygame.image.load("images/animal_kowai_kuma.png").convert_alpha()
rect_kuma = kuma.get_rect()
rect_kuma.center = (410, 280)
bg = pygame.image.load("images/128423758641716219145_BG32a.jpg").convert_alpha()
rect_bg = bg.get_rect()
while gamescene == 0:
screen.fill((0,0,0))
textTitle = font.render("The Bear", True, (255,255,255))
screen.blit(textTitle, [220, 140])
textStart = font.render("PUSH SPACE", True, (255,255,255))
screen.blit(textStart, [220, 370])
pygame.display.update()
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_SPACE:
gamescene = 1
while gamescene == 1:
screen.blit(bg, rect_bg)
screen.blit(kuma, rect_kuma)
pygame.display.update()
clear = kumaEvent()
if clear == 1:
gamescene = 2
while gamescene == 2:
screen.fill((0,0,0))
textClear = font.render("Clear!", True, (255,255,255))
screen.blit(textClear, [300, 280])
pygame.display.update()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if __name__ == "__main__":
main()
画像、効果音素材は以下から取得した。
・いらすとや
・きまぐれアフター
・効果音ラボ
思いのほか画面遷移の実装に苦戦した。また、Pythonの文法をすっかり忘れていたため、エラー対処に時間を費やした。
作り終わって気付いたのだが、以前(やればできるかね - とりあたまの日々)作成したような動きのあるものではないため、立ち絵のみで何とも面白味のないものになった。
最近はGo言語に触れている。しかしながら、Pythonも改めて時間があるときに勉強しようと思った。