其他分享
首页 > 其他分享> > 2.绘制图像

2.绘制图像

作者:互联网

介绍 在游戏中能够看到的游戏元素大都是图像 图像文件初始是保存在磁盘上的,如果需要使用,第一步就需要被加载到内存 要在屏幕上看到某一个图像的内容,需要按照三个步骤
  1. 使用pygame.image.load()加载图像属性
  2. 使用游戏屏幕对象,调用blit方法将图像绘制到指定位置
  3. 调用pygame.display.update()方法更新整个屏幕的显示
  绘制背景图像
import pygame

pygame.init()

# 创建游戏窗口
screen = pygame.display.set_mode((480,700))

# 绘制背景图像
# 加载图像数据
background = pygame.image.load('./images/background.png')
# 使用blit给对应窗口绘制图像,参数:图像数据,图像位置
screen.blit(background,(0,0))
# 更新图像显示
pygame.display.update()

runing = True
while runing:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            runing = False

pygame.quit()
  绘制英雄图像 1.加载图片创建英雄飞机 2.将英雄飞机绘制在屏幕的(200,500)的位置 3.调用屏幕更新显示图像飞机
# -*- coding: utf-8 -*-
# @Time:     2022/5/19 23:45
# @Author:   LiQi
# @Describe:


import pygame

pygame.init()

# 创建游戏窗口
screen = pygame.display.set_mode((480,700))

# 绘制背景图像
# 加载图像数据
background = pygame.image.load('./images/background.png')
# 使用blit给对应窗口绘制图像,参数:图像数据,图像位置
screen.blit(background,(0,0))
# 更新图像显示
pygame.display.update()

# 绘制英雄图像
hero = pygame.image.load('./images/me1.png')
screen.blit(hero,(200,500))

pygame.display.update()





runing = True
while runing:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            runing = False

pygame.quit()
  透明图像 png格式的图像是支持透明的 在绘制图像时,透明区域不会显示任何内容 如果下方已有内容,透过透明区域显示出来 如下图小格子区域就是透明区域,当透明区域和背景图重合时,会把背景区域显示出来     update()方法的作用 可以在screen对象完成所有的blit方法之后,统一调用一次update方法,同样可以看到最终的显示效果 使用set_mode创建的screen对象是一个内存中的屏幕数据对象可以理解成油画的画布 screen.bilt方法可以在画布上绘制很多图像,例如英雄、敌机、子弹 update会将画布的最终效果绘制屏幕上     游戏中的动画实现原理 跟电影的原理类型,游戏中的动画效果,本质上是快速的在屏幕上绘制图像 一般在电脑上每秒绘制60次,就能达到非常连续高品质的动画效果 每次绘制的结果被称为帧Frame

标签:screen,update,blit,图像,绘制,pygame
来源: https://www.cnblogs.com/Mickey-7/p/16290941.html