有时,你用pygame写的游戏也许需要播放一些背景音乐,该怎么做呢,直接上代码:
下面的代码,有关于:
1>设置对话框图标、大小、标题
2>播放音乐
3>设置背景图片,以及获取背景图片的矩形(通过这个矩形可以获得大小等信息)
4>获取按键事件
# -*- coding: cp936 -*- filename='Colbie Caillat - Break Through.mp3' link='http://en.wikipedia.org/wiki/Colbie_Caillat' bg='CB.jpg' bg2='CB2.jpg' bg3='CB3.jpg' bg4='CB4.jpg' b='C.jpg' import pygame,sys,os from pygame.locals import * import webbrowser def yep(): rect=(0,0) n=1 m=4 p=1 pygame.init() screen = pygame.display.set_mode((251, 201), 0, 32) #创建了一个窗口 #设置窗口标题 pygame.display.set_caption("Break Through!") background = pygame.image.load(bg).convert() #设置窗口图标 icon = pygame.image.load(b) pygame.display.set_icon(icon) #加载、播放音乐 pygame.mixer.music.load(filename) pygame.mixer.music.play() while True:#游戏主循环 for event in pygame.event.get(): if event.type ==QUIT: pygame.quit() sys.exit() pressed_keys = pygame.key.get_pressed() if event.type==KEYDOWN: #如果按下空格键,则暂停音乐,再按则继续 if pressed_keys[K_SPACE]: if p==1: pygame.mixer.music.pause() p=0 else: pygame.mixer.music.unpause() p=1 else: #按下其他键则打开链接 webbrowser.open_new_tab(link) #如果按下鼠标左键,则变换背景图片,并且对话框的大小随着背景图片的大小而改变 if event.type == pygame.MOUSEBUTTONDOWN: n+=1 if n%m==0: #screen = pygame.display.set_mode((251, 201), 0, 32) background = pygame.image.load(bg).convert() #获取背景图的矩形 rect = background.get_rect() screen = pygame.display.set_mode((rect.width, rect.height)) if n%m==1: #screen = pygame.display.set_mode((315, 275), 0, 32) background = pygame.image.load(bg2).convert() rect = background.get_rect() screen = pygame.display.set_mode((rect.width, rect.height)) if n%m==2: #screen = pygame.display.set_mode((284, 177), 0, 32) background = pygame.image.load(bg3).convert() rect = background.get_rect() screen = pygame.display.set_mode((rect.width, rect.height)) if n%m==3: #screen = pygame.display.set_mode((284, 177), 0, 32) background = pygame.image.load(bg4).convert() rect = background.get_rect() screen = pygame.display.set_mode((rect.width, rect.height)) screen.blit(background,rect) pygame.display.update() if __name__ == "__main__": yep()
看代码注释,就差不多了。
运行结果截图
点击对话框,可以看到
可以明显的看到,对话框大小改变了。代码资源下载链接:
http://download.csdn.net/detail/kamsau/6705279
版权声明:本文为博主原创文章,未经博主允许不得转载。