Python pygame绘制游戏图像

2022-08-11 09:45:55
目录
前言1. 理解图像并实现图像绘制2. 代码演练-绘制背景图像3. 代码演练-绘制英雄图像

前言

本节,我们将使用pygame模块完成飞机大战游戏的实战开发,飞机大战游戏的简要概括如下:

    把一些静止的图像绘制到游戏窗口中根据用户的交互或其他情况,移动这些图像,产生动画效果根据图像之间是否发生重叠,判断敌机是否被摧毁等其他情况

    1.>
      在游戏中,能够看到的游戏元素大多都是图像,图像文件初始是保存在磁盘上的,如果需要使用,第一步就需要被加载到内存。要在屏幕上看到一个图像的内容,需要按照三个步骤:
        使用pygame.image.load()加载图像的数据使用游戏屏幕对象,调用blit方法将图像绘制到指定位置(blit方法接收两个参数,第一个参数为图像地址,第二个参数为图像在屏幕中绘制的位置)调用pygame.display.update()方法更新整个屏幕的显示

        提示:要想在屏幕上看到绘制的结果,就一定要调用pygame.display.update()方法

        2.>

        需求:

          加载background.png创建背景将背景绘制在屏幕的(0,0)位置调用屏幕更新显示背景图像

          具体代码演示如下所示:注意使用update方法更新背景图像,否则可能导致不显示图像。

          import pygame
          pygame.init()
          
          # 创建游戏的窗口 640*642
          screen = pygame.display.set_mode((640, 642))
          
          # 绘制背景图像
          # 1> 加载图像数据
          bg = pygame.image.load("./background.jpg")
          # 2> blit绘制图像
          screen.blit(bg, (0, 0))
          # 3> update更新屏幕显示
          pygame.display.update()
          while True:
              pass
          
          pygame.quit()

          代码运行结果如下图所示:

          3.>

          需求:

            加载mel.png创建英雄飞机将英雄飞机绘制在屏幕的(200,500)位置调用屏幕更新显示飞机图像

            绘制英雄飞机具体代码演示如下所示:

            import pygame
            pygame.init()
            
            # 创建游戏的窗口 640*642
            screen = pygame.display.set_mode((640, 642))
            
            # 绘制背景图像
            # 1> 加载图像数据
            bg = pygame.image.load("./background.jpg")
            # 2> blit绘制图像
            screen.blit(bg, (0, 0))
            # 3> update更新屏幕显示
            pygame.display.update()
            
            # 绘制英雄的飞机
            hero = pygame.image.load("./飞机大战资料包/images/me1.png")
            screen.blit(hero, (300, 500))
            pygame.display.update()
            
            while True:
                pass
            
            pygame.quit()

            注意:./飞机大战资料包/images/me1.png路径下的me1.png图像为透明图像

              png格式的图像是支持透明的在绘制图像时,透明区域不会显示任何内容但是如果下方已经有内容,会通过透明区域显示出来

              代码运行结果如下图所示:在原本背景图的代码基础上,有更新了绘制英雄飞机的相关代码,因此,在背景图中显示了小飞机。

              到此这篇关于Python pygame绘制游戏图像的文章就介绍到这了,更多相关Python绘制游戏图像内容请搜索易采站长站以前的文章或继续浏览下面的相关文章希望大家以后多多支持易采站长站!