ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## pygame.image 上节课的猫咪移动里我们用了cat.png图片,使用了pygame.image 模块,这个模块是pygame用来加载、处理图片的。猫的图片存储在cat.png中,为了加载这个图片,我们使用pygame.image.load()方法,这个方法会返回一个Surface object。而真正要把这个图片加载到窗口上,我们还要调用blit方法来‘复制’这个图片。`DISPLAYSURF.blit(catImg, (catx, caty))`。 这个方法需要两个参数,第一个参数是要copy的对象。第二个参数是一个元组,表达了要copy到哪个位置上。 ## pygame.font 我们当然可以使用pygame.draw.line()画线的方式来写字,可以这样就太笨拙了。pygame.font模块封装了pygame对文字的操作。 直接看代码: ``` # 声明一个font对象 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: # main game loop DISPLAYSURF.fill(WHITE) #将文字渲染到DISPLAYSURF上 DISPLAYSURF.blit(textSurfaceObj, textRectObj) for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() pygame.display.update() ``` 这里有个问题需要注意一下,pygame对中文的支持非常不友好,所以学好英语还是很重要的,哈哈。 ## 播放声音 pygame播放声音比较简单,直接使用pygame.mixer模块即可,看代码: ``` # 定义一个声音对象 soundObj = pygame.mixer.Sound('beeps.wav') # 播放声音 soundObj.play() # 暂停声音 soundObj.stop() ``` ## 总结 到此位置,我们把pygame的核心空间就学习完成了。接下来,我们就可以用pygame编写自己喜欢的游戏了,赶紧开始吧!