关于游戏开发:pygame写游戏常用代码记录

34次阅读

共计 1127 个字符,预计需要花费 3 分钟才能阅读完成。

pygame 写起游戏(页游等)来还是挺不错的,不过我也没用过别的什么货色写,所以也没什么发言权。
上面是一些罕用的代码片段,记录下来,给他人看,也用来给我想不起来的时候看看。

pygame 的常见结尾

# 1 - Import library
import math
import random
import pygame
from pygame.locals import *

# 2 - Initialize the game
pygame.init()
pygame.mixer.init() # music initial
width, height = 640, 480
screen=pygame.display.set_mode((width, height))

加载图片和声音

player = pygame.image.load("resources/images/dude.png")
screen.blit(player,(100,100))
hit = pygame.mixer.Sound("resources/audio/explode.wav")
hit.set_volume(0.05)

碰撞检测

bullrect=pygame.Rect(arrow.get_rect())
bullrect.left=bullet_x
bullrect.top=bullet_y

badrect = pygame.Rect(badguyimg.get_rect())
badrect.left = badguy_x
badrect.top = badguy_y
if badrect.colliderect(bullrect):
    print 'Shooted'

常见事件循环

while True:
for event in pygame.event.get():
    if event.type == pygame.QUIT:
        pygame.quit()
        exit(0)
    if event.type == pygame.KEYDOWN:
        if event.key == K_q:
            pygame.quit()
            exit(0)
# refresh screen     
pygame.display.flip()

显示文字

pygame.font.init()
font = pygame.font.Font(None, 24)
text = font.render("Good job", True, (255,0,0))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery+24
screen.blit(gameover, (0,0))
screen.blit(text, textRect)

正文完
 0