Pygame精灵和精灵组

Pygame 提供了两个类

pygame.sprite.Sprite —— 存储 图像数据 image 和 位置 rect 的 对象

pygame.sprite.Group

精灵

在游戏开发中,通常把 显示图像的对象 叫做精灵 Sprite

精灵 需要 有 两个重要的属性

image 要显示的图像

rect 图像要显示在屏幕的位置

默认的 update() 方法什么事情也没做

子类可以重写此方法,在每次刷新屏幕时,更新精灵位置

注意:pygame.sprite.Sprite 并没有提供 image 和 rect 两个属性

需要程序员从 pygame.sprite.Sprite 派生子类

并在 子类 的 初始化方法 中,设置 image 和 rect 属性

精灵组

一个 精灵组 可以包含多个 精灵 对象

调用 精灵组 对象的 update() 方法

可以 自动 调用 组内每一个精灵 的 update() 方法

调用 精灵组 对象的 draw(屏幕对象) 方法

可以将 组内每一个精灵 的 image 绘制在 rect 位置

注意:仍然需要调用 pygame.display.update() 才能在屏幕看到最终结果

派生精灵子类

新建 plane_sprites.py 文件

定义 GameSprite 继承自 pygame.sprite.Sprite

注意

如果一个类的 父类 不是 object

在重写 初始化方法 时,一定要 先 super() 一下父类的 __init__ 方法

保证父类中实现的 __init__ 代码能够被正常执行

代码:

#导pygame的包import pygame

#定义一个游戏精灵基类class Gamesprite(pygame.sprite.Sprite):

#初始化方法 参数(图片路径,英雄飞机移动速度)def __init__(self,image_name,speed):

#调用父类的初始化方法super().__init__()

#加载图像self.image = pygame.image.load(image_name)

提示

image 的 get_rect() 方法,可以返回 pygame.Rect(0, 0, 图像宽, 图像高) 的对象

#记录尺寸self.rect = self.image.get_rect()

#记录速度self.speed = speed

#重写update方法def update(self,*args):

#默认在垂直方向移动self.rect.y+=self.speed

python精灵和精灵组_Pygame精灵和精灵组相关推荐

  1. Python 制作迷宫游戏(三)——地图精灵

    Python 制作迷宫游戏(三)--地图精灵 上一节我们已经成功的生成了一个游戏窗口 这一节我们将试着把地图的瓦片与地图数组绑定并绘制到窗口中 当然,作为一个迷宫,地图的作用不仅仅是背景板,它最为重要 ...

  2. 天猫精灵 python 控制_(二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 实战...

    #本片教程介绍了具体如何实现天猫精灵控制一个灯. 前提: HASS平台 你已经搭建一个可以在公网IP访问到的HASS平台--- 我用的是租了阿里云服务器,买了个域名,ubuntu1604系统 你已经搭 ...

  3. 【蓝牙Mesh笔记 ①】ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入,无需WiFi 连接也可以实现天猫精灵语音控制。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...

  4. android 多个按键精灵,给大家分享一个,按键精灵安卓版,找多图, 以及找多图返回多个坐标的,相信大家绝对用得到 _ 按键精灵手机版 - 按键精灵论坛...

    大家感觉有用的回复多多支持一下,下面这个找图代码,是我平时写代码,都用到的,我感觉不错,毕竟用起来有大漠的感觉,哈哈 //TracePrint "--" Dim 找图组合,图片数组 ...

  5. (8)香橙派+apache2与php+天猫精灵=自建平台语音支持--天猫精灵对接3

    导航链接 (1)香橙派+apache2与php+天猫精灵=自建平台语音支持--前言 (2)香橙派+apache2与php+天猫精灵=自建平台语音支持--香橙派操作系统安装 (3)香橙派+apache2 ...

  6. c语言精灵宝可梦对战游戏,精灵宝可梦究极日月模拟器金手指代码大全

    <精灵宝可梦究极日月>终于迎来了它的发售,相信许多玩家对于这款游戏的素质还是不用怀疑的吧.不过由于游戏的内容实在是太过丰富,许多玩家表示在游戏中许多要素都没法体验尽兴,以下就给大家分享具体 ...

  7. (6)香橙派+apache2与php+天猫精灵=自建平台语音支持--天猫精灵对接1

    导航链接 (1)香橙派+apache2与php+天猫精灵=自建平台语音支持--前言 (2)香橙派+apache2与php+天猫精灵=自建平台语音支持--香橙派操作系统安装 (3)香橙派+apache2 ...

  8. (11)香橙派+apache2与php+天猫精灵=自建平台语音支持--天猫精灵对接6

    导航链接 (1)香橙派+apache2与php+天猫精灵=自建平台语音支持--前言 (2)香橙派+apache2与php+天猫精灵=自建平台语音支持--香橙派操作系统安装 (3)香橙派+apache2 ...

  9. Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手

    1,介绍 该示例使用的是 r95版本Three.js库. 主要实现功能:引用模型进行展示,使用精灵Sprite作为标签,鼠标悬浮精灵上时变小手. 效果图如下: 2,主要说明 使用精灵Sprite作为标 ...

最新文章

  1. Qt中的QDialog
  2. python for循环中累加变量是否要清零
  3. 线性规划之单纯形法(2)
  4. [图解]ARP协议(一)
  5. Http请求中Content-Type讲解以及在Spring MVC注解中produce和consumes配置详解
  6. Linux系统下通过命令行对mysql数据进行备份和还原
  7. 带你重新认识ZooKeeper!java数组长度可变吗
  8. 渲染怎么加hdri_关于渲染参数设置,伽马2.2你想要知道的一切!
  9. 七年布局Cloud OS,微软将再创云产业新高
  10. Nordic nRF52840 入门学习
  11. 计算机关闭窗口可以使用alt,电脑关闭窗口快捷键
  12. 荣耀MagicBook X桌面频繁蓝屏如何重装系统?
  13. 基于pg_qualstats和hypopg的自动索引调优
  14. [技术]使用人工智能玩微信跳一跳
  15. Python爬取网易云音乐评论,反爬算啥啊!
  16. ios swift是静态语言吗
  17. ABP微服务系列学习-搭建自己的微服务结构(三)
  18. 二级计算机的office用到哪些函数,计算机二级MS office excel中所用函数整理
  19. 斗战神服务器正在维护6,斗战神什么时候服务器数据互通_斗战神1月6日、8日服务器数据互通公告_快吧游戏...
  20. [Games104笔记] 游戏中的渲染管线,后处理

热门文章

  1. 百度定位 Android 经纬度出现4.9E-324 问题解决
  2. 识别图片中的数字------基本思路
  3. 尚医通 (三十一) --------- 手机登录
  4. Ajax配合jQuery和数据库
  5. 我看无损音频APE和FLAC
  6. 谁说程序员过了35岁之后就要去“送外卖”、“跑滴滴”?这几种发展走向照样解除焦虑
  7. win7计算机电源设置在哪里设置,Win7系统如何设置电源选项
  8. 【安全牛学习笔记】cookie安全问题
  9. 深度学习自然语言处理模型实现大集合(精简版<100行)
  10. 京东炸年兽脚本--亲测有效 2021最新版