pygame写起游戏(页游等)来还是挺不错的,不过我也没用过别的什么东西写,所以也没什么发言权。
下面是一些常用的代码片段,记录下来,给别人看,也用来给我想不起来的时候看看。
pygame的常见开头
# 1 - Import libraryimport mathimport randomimport pygame from pygame.locals import * # 2 - Initialize the game pygame.init() pygame.mixer.init() # music initial width, height = 640, 480screen=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)