本文共 2488 字,大约阅读时间需要 8 分钟。
接着来介绍Pygame一些基础的东西。
Drawing Images with pygame.image.load() and blit()
很多游戏都不只是用简单的画图函数就可以完成的,还需要各种各样的图片(也被称作精灵)pygame可以加载到surface对象上的图片格式有PNG, JPG, GIF和BMP。关于格式的不同地方可以上网搜索。
接着对上篇最后的一段代码里面的东西做些介绍。
pygame.image.load()函数返回一个surface对象用于显示图片。这个surface对象和显示窗口对象是分离的,所以我们必须把图片显示对象复制到显示窗口对象通过blit()方法。
方法使用如下:
DISPLAYSURF.blit(catImg, (catx, caty))
第一个参数是要加载的图片对象,第二个参数是有两个整数的元组分别表示图片将要显示的左上角X和Y的坐标值。
字体
游戏都需要显示文字,pygame为字体和创建文本提供了一些简单的函数。下面就是一个使用pygame字体的程序。
import pygame, sysfrom pygame.locals import *pygame.init()DISPLAYSURF = pygame.display.set_mode((400,300))pygame.display.set_caption("Hello World")WHITE = (255, 255, 255)GREEN = (0, 255, 0)BLUE = (0, 0 ,128)fontObj = pygame.font.Font('freesansbold.ttf', 32)textSurfaceObj = fontObj.render('Hello World!', True, GREEN, BLUE)textRectObj = textSurfaceObj.get_rect()textRectObj.center = (200, 150)while True: DISPLAYSURF.fill(WHITE) DISPLAYSURF.blit(textSurfaceObj, textRectObj) for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() pygame.display.update()执行后的效果如图:
将字体显示在屏幕上有六个步骤:
soundObj = pygame.mixer.Sound('beeps.wav')soundObj.play()import timetime.sleep(1)soundObj.stop()声音对象可以造成很好的声音效果当游戏者具体做了某件事时,比如受到伤害,拾起一个硬币等。游戏最好也能有背景音乐无论游戏进行到何时。Pygame只能加载一个音乐文件用作背景音乐在一个时刻。为了加载一个背景音乐文件,调用pygame.mixer.music.load()函数传递一个关于音乐文件名的字符串。音乐文件格式可以是WAV,MPS,MIDI.
pygame.mixer.music.load('backgroundmusic.mp3')pygame.mixer.music.play(-1,0.0)#....some more of your code goes here..pygame.mixer.music.stop()
转载地址:http://mqofb.baihongyu.com/