介绍
在游戏中能够看到的游戏元素大都是图像
图像文件初始是保存在磁盘上的,如果需要使用,第一步就需要被加载到内存
要在屏幕上看到某一个图像的内容,需要按照三个步骤
  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

2.pygame快速入门-绘制图像的更多相关文章

  1. PyGame快速入门

    pygame 快速入门 目标 项目准备 使用 pygame 创建图形窗口 理解 图像 并实现图像绘制 理解 游戏循环 和 游戏时钟 理解 精灵 和 精灵组 项目准备 新建 飞机大战 项目 新建一个 h ...

  2. 5.pygame快速入门-精灵和精灵组

    在之前案例中,图像加载.位置变化.绘制图像都需要编写代码分别处理 pygame提供了两个类简化开发步骤 pygame.sprite.Sprite #精灵,存储图像数据image和位置rect的对象 p ...

  3. 3.pygame快速入门-游戏循环及动画实现

    游戏循环的开始,意味着游戏的正式开始,游戏循环的作用如下 1.保证游戏不会直接退出 2.变化图像的位置--动画效果 3.检测用户交互--按键.鼠标等     游戏时钟 pyagame提供了一个pyga ...

  4. 1.pygame快速入门-创建游戏窗口

      简介 pygame是python一个包,专为电子游戏设计#安装 pip3 install pygame #验证安装 # aliens 是pygame内置的一个小游戏,可以启动成功说明pygame安 ...

  5. 4.pygame快速入门-事件监听

    事件event:游戏启动后,用户针对游戏的所有操作 监听:在游戏循环中,判断用户的具体操作 pygame中通过pygame.event.get()可以获得当前用户所做动作的事件列表   事件监听 wh ...

  6. Html与CSS快速入门03-CSS基础应用

    这部分是html细节知识的学习. 快速入门系列--HTML-01简介 快速入门系列--HTML-02基础元素 快速入门系列--HTML-03高级元素和布局 快速入门系列--HTML-04进阶概念 边框 ...

  7. Pandas快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下提供了类似关系型或标签型数据结构的Pandas的使用方法.下面记录相关学习笔记. 数据结构 Panda ...

  8. Matplotlib快速入门笔记

    我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,快速了解了一下matplotlib绘图库.下图是我学习过程中整理的一些概念. 本文将以该图为线索梳理相关概念. 简介 ...

  9. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 4. 函数

    什么样的程序员才是优秀的程序员?咪博士认为“慵懒”的程序员才是真正优秀的程序员.听起来不合逻辑?真正优秀的程序员知道如何高效地工作,而不是用不止境的加班来完成工作任务.函数便是程序员高效工作的利器之一 ...

随机推荐

  1. Apache DolphinScheduler 的持续集成方向实践

    今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点: " 研发效能 DolphinScheduler CI/CD 应用案 ...

  2. 数据库运维之路——关于tempdb暴增实战案例

    转眼间,2021年的第一个季度已经到了最后一个月了,由于疫情原因,最近一段时间一直在北京,基本上没有出差,每天上班下班的日子感觉时间过的好快,新的一年继续努力奋斗啊. 仔细回想一下,自己踏入到sql ...

  3. vue-pdf结合alloyfinger手势缩放旋转上下翻页pdf文件

    1. demo线上链接 vuepdf在线demo 2. demo图: 3. 话不多说,上代码: 安装vue-pdf插件: npm i vue-pdf 安装vue-pdf报错catch的可以看我这篇文章 ...

  4. synchronized原理剖析

    synchronized原理剖析 并发编程存在什么问题? 1️⃣ 可见性 可见性:是指当一个线程对共享变量进行了修改,那么另外的线程可以立即看到修改后的最新值. 案例演示:一个线程A根据 boolea ...

  5. Excel 查找函数(三):HLOOKUP

    函数讲解 [语法]HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]) [参数] lookup_value:查找值(必须是 ...

  6. Linux安装JDK并配置环境变量

    Linux - 安装jdk并配置环境变量 1. 前往JDK官网, 地址:https://www.oracle.com/java/technologies/downloads/   复制下载链接 2.  ...

  7. 第八十七篇:Vue动态切换组件的展示和隐藏

    好家伙, 1.什么是动态组件? 动态组件指的是动态切换组件的限制与隐藏 2.如何实现动态组件渲染 vue提供了一个内置的<component>组件,专门用来实现动态组件的渲染. 可以将其看 ...

  8. 数据卷之Docker File

    DockerFile 是用来构建Docker镜像的构建文件,是由一些列命令和参数构成的脚本.后面再详细了解 DockerFile ! 1.我们在宿主机 /home 目录下新建一个 docker-tes ...

  9. React Native入门 Enable live Reload

    在开发项目时,有时一点点小修改就需要重新编译,打包,安装,效率比较低 RN 提供了一种实时重载 (Enable live Reload)的方式,来实现快速的调试开发,修改保存后会立刻载真机或模拟器中显 ...

  10. 【读书笔记】C#高级编程 第十六章 错误和异常

    (一)简介 错误的出现并不总是编写应用程序的人的原因,有时应用程序会因为应用程序的最终用户引发或运行代码的环境而发生错误.C#提供了异常处理机制来处理错误. (二)异常类 在C#中,但刚出现某个特殊的 ...