美文网首页
从0开始学python第14.5节 pygame 加载图片和声音

从0开始学python第14.5节 pygame 加载图片和声音

作者: 阿达老师 | 来源:发表于2018-10-16 07:14 被阅读0次

    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编写自己喜欢的游戏了,赶紧开始吧!

    相关文章

      网友评论

          本文标题:从0开始学python第14.5节 pygame 加载图片和声音

          本文链接:https://www.haomeiwen.com/subject/vxdczftx.html