2.绘制图像
作者:互联网
介绍
在游戏中能够看到的游戏元素大都是图像
图像文件初始是保存在磁盘上的,如果需要使用,第一步就需要被加载到内存
要在屏幕上看到某一个图像的内容,需要按照三个步骤
- 使用pygame.image.load()加载图像属性
- 使用游戏屏幕对象,调用blit方法将图像绘制到指定位置
- 调用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