plane_sprites.py(模块,定义派生精灵子类,继承pygame.sprite.Sprite):

import pygame# 自定义的派生精灵子类,继承pygame.sprite.Sprite
class GameSprite(pygame.sprite.Sprite):"""游戏精灵基类"""def __init__(self, image_path, speed=1):# 调用父类的初始化方法super().__init__()# 加载图像self.image = pygame.image.load(image_path)# 设置尺寸; get_rect()可以获取图像的原始大小self.rect = self.image.get_rect()# 记录速度self.speed = speeddef update(self, *args):# 默认在垂直方向移动self.rect.y += self.speed

main.py(主程序中,通过精灵和精灵组完成游戏动画):

import pygame
from plane_sprites import *# 游戏的初始化
pygame.init()# 创建游戏主窗口 480 * 700
screen = pygame.display.set_mode((480, 700))# 创建时钟对象 (可以控制游戏循环频率)
clock = pygame.time.Clock()# 创建敌机的精灵
enemy = GameSprite("./images/enemy1.png")
enemy1 = GameSprite("./images/enemy1.png", 2)
# 创建敌机的精灵组
enemy_group = pygame.sprite.Group(enemy, enemy1)# 游戏循环 -> 意味着游戏的正式开始!
while True:# 通过时钟对象指定循环频率clock.tick(60)  # 每秒循环60次# 监听用户事件for event in pygame.event.get():# 判断用户是否点击了关闭按钮if event.type == pygame.QUIT:print("游戏退出...")pygame.quit()  # 卸载所有pygame模块exit()  # 直接终止当前正在执行的Python程序# 让精灵组调用两个方法# update -- 让组中的所有精灵更新位置enemy_group.update()# draw -- 在screen上绘制组中所有的精灵enemy_group.draw(screen)pygame.display.update()  # 更新屏幕显示pygame.quit()

Python pygame,精灵和精灵组相关推荐

  1. python精灵和精灵组_Pygame精灵和精灵组

    Pygame精灵和精灵组 Pygame 提供了两个类 pygame.sprite.Sprite -- 存储 图像数据 image 和 位置 rect 的 对象 pygame.sprite.Group ...

  2. Python 理解 精灵 和 精灵组

    1.1 精灵 和 精灵组 在刚刚完成的案例中,图像加载.位置编号.绘制图像 都需要程序员编写代码分别处理. 为了简化开发步骤: pygame 提供两个类. pygame.sprite.Sprite - ...

  3. Python精灵和精灵组

    plane_sprites.py import pygame# 如果一个类的父类不是object # 在重写初始化方法时,一定要先super()一下父类的__init__方法 # 保证父类中实现的__ ...

  4. pygame中的监听事件以及精灵和精灵组

    pygame监听事件以及精灵和精灵组 文章目录 pygame监听事件以及精灵和精灵组 1.游戏循环中监听事件 1.事件(event) 2.监听 3.代码实现 二.理解精灵和精灵组 1.精灵 2.精灵组 ...

  5. pygame教程----Sprite精灵模块介绍

    Sprite精灵模块介绍 来历 "精灵"这个词是从老式电脑和游戏机中流传下来的.这些较老的盒子无法快速绘制和删除普通图像,无法作为游戏使用.这些机器有特殊的硬件来处理需要快速动画的 ...

  6. Python_精灵和精灵组

    1. 基本概念 接下来介绍两个pygame中提供的高级类, 精灵和精灵组. 在介绍这两个类之前, 先来共同回顾一下到目前为止掌握的游戏开发套路. 在游戏初始化,需要加载一下游戏中所有的图像, 然后呢, ...

  7. 精灵与精灵组的常用属性

    精灵常用的属性 pygame.sprite.Sprite.update - 控制精灵行为的方法 pygame.sprite.Sprite.add - 将精灵添加到组 pygame.sprite.Spr ...

  8. pygame显示图片的方法_使用Sprite实现移动动画(Pygame中的精灵类)

    pygame.sprite.Sprite就是Pygame里面用来实现精灵的一个类,使用时,并不需要对它实例化,只需要继承他,然后按需写出自己的类就好了,因此非常简单实用. 什么是精灵? 精灵可以认为成 ...

  9. python做按键精灵脚本_使用Python实现一个按键精灵 | 蓝士钦

    @HANK1998 其实,你这个代码,还有一个问题,鼠标键盘动作回放时,顺序会乱,线程同步问题,做不到鼠标动作和键盘动作交叉执行.,,我能力不太够了,,学的不深,不知道这个问题你解决没??? ---- ...

最新文章

  1. PHP命令行代码更新不及时,PHP脚本从命令行工作,而不是从cron
  2. qq无限时间撤回消息bug_手机QQ新功能汇总,比微信有意思多了
  3. python 光标位置输入文字_Python 移动光标位置的方法
  4. Kubernetes Nginx Ingress 安装与使用
  5. Windows 10如何禁用Microsoft Edge标签页预览
  6. 长方体重力异常正演matlab,骆遥 (2007) 两种新的长方体重力异常正演公式及其理论推导. 中国科学院地质与地球物理研究所, 北京....
  7. 前端布局神器display:flex
  8. 解决Windows下运行php Composer出现SSL报错的问题
  9. python——asyncio模块实现协程、异步编程(三)
  10. 1.3 机器学习基础
  11. 专业思维和战略思维的区别在哪
  12. ​突破数据存储瓶颈,Aibee实现场景化AI的有效落地
  13. 收盘:用友软件跌10.02%报13.2元 换手3.26%
  14. wget无法批量下载气象数据的解决方案(Python、迅雷批量下载气象数据方法)
  15. R语言ggplot2可视化条形图:通过双色渐变配色颜色主题可视化条形图、为每个条形添加标签文本(geom_text函数)
  16. 私有云的优缺点_私有云服务器的优缺点
  17. win10系统qq截图时屏幕局部自动放大怎么办 解决方法
  18. 联想服务器光驱重新系统,如何使用联想VISTA恢复光盘安装系统
  19. iOS应用性能调优--初级---王朋
  20. Android 检测手机是否是异形屏,刘海屏,水滴屏,挖孔屏

热门文章

  1. android 之手机客户端登陆
  2. 关键点检测之直接回归(逐行手撕Pytorch)
  3. DXF04-02 时间:2021.12.03-2012.12.03 关键词:DXF样条曲线信息
  4. iframe父元素获取子页面的元素
  5. python和excel数据分析有什么区别_用Excel、SQL、Python做数据分析有何不同?
  6. MySQL基本增删改查以及搭配node在项目中的操作
  7. 玩和平精英吃鸡用什么平板ipad好?
  8. 王阳明心学主要讲了什么
  9. 微信小程序中的空格怎么打
  10. 【12. 文件系统管理】