Python作业贴

网络上很多介绍subsurface()的使用方法, 但毕竟不是自己手动写的,看着难受
遂按照自己的理解重新写一遍

#! /usr/bin/python3# @File:   test4.py
# @Author: tiannanyihao
# @DATE:   2019-01-16
# @TIME:   10:13
# @Software: PyCharm
# @Production:import pygameclass ImgGif(pygame.sprite.Sprite):"""创建精灵子类ImaGif通过subsurface()方法遍历大图中的每一块小图,达到动画效果需指定row/cloumn 行/列数需要一张连续的主图 image_Real要设置一个窗口图片 image记录当前遍历的下标 index记录上次遍历的下标 lastIndex记录循环中,上一次tick时间增量的 lastTick"""def __init__(self, row, cloumn):super().__init__()self.index = 0self.lastIndex = 0self.lastTick = 0self.row = rowself.cloumn = cloumnself.allIndex = self.row * self.cloumnself.image = pygame.image.load('../src/images/me1.png')self.rect = self.image.get_rect()self.image_Real = pygame.image.load("../src/images/me4.png")def update(self, *args):# 获取时间增量currentTick = args[0]# 判断当前时间增量是否大于上次时间增量if currentTick > self.lastTick:# 下标递增,当下标达到最大下标数,重置下标再次循环self.index += 1if self.index > self.allIndex - 1:self.index = 0self.lastTick = currentTick# 检测是否是新下标if self.index != self.lastIndex:singleImg_X = (self.index // self.row) * self.rect.widthsingleImg_Y = (self.index % self.row) * self.rect.heightsingleRect = (singleImg_X, singleImg_Y, self.rect.width, self.rect.height)# 替换当前应该展示的图片self.image = self.image_Real.subsurface(singleRect)self.lastIndex = self.indexpasspygame.init()
screen = pygame.display.set_mode((900, 400))
clock = pygame.time.Clock()imgSprite = ImgGif(1, 4)
spritesGroup = pygame.sprite.Group()
spritesGroup.add(imgSprite)while True:screen.fill((10, 110, 100))for event in pygame.event.get():passclock.tick(10)ticks = pygame.time.get_ticks()spritesGroup.update(ticks)spritesGroup.draw(screen)pygame.display.update()

纯粹记录,以供自己后期翻阅

Python-pygame 使用subsurface()遍历图片达到动画效果相关推荐

  1. 利用MATLAB实现图片切换动画效果详解

    内容摘要:本博文介绍MATLAB图片切换动画效果的制作以及GIF文件保存,并结合具体代码详细解释.介绍了利用MATLAB编程进行几幅图片的轮流切换,切换时实现与幻灯片切换相似的炫酷的图片切换特效.其中 ...

  2. css3动画图片旋转绕轴,css3图片旋转如何实现?css3实现图片旋转动画效果的方法...

    在网页中,我们经常可以看到一张图片在旋转,这样的图片旋转是怎么来实现的呢?本篇文章就来为你介绍一下关于css3实现图片旋转动画效果的方法. 实现css3中图片的旋转可以使用可以使用 -webkit-a ...

  3. PPT模板如何制作图片镜面动画效果?

    PPT模板 如何制作图片镜面动画效果?动画效果在ppt模板设计过程中,能给模板增色不少,今天ppt家园来介绍一ppt模板镜面动画效果的操作方法. 模板入口:https://www.pptjia.com ...

  4. python中使用cv2遍历图片像素点以及改变像素点的像素值

    python中除了使用PIL库处理图像之外还可以使用CV2 import cv2 import numpy as np fileName = '2.png' print(fileName) img = ...

  5. android图片gif动画效果,android中类似于gif 实现图片的动画效果

    案例:实现gif动画效果,连续播放图片 由于是转载的,也就没必要多说,直接上代码 案例:在android中实现gif动态图片的效果: EarthAnimationActivity.java packa ...

  6. android app启动图片 加动画效果,Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案...

    Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案 大家在设计APP的末期,都会想给APP搞一些"花里胡哨"的特效来提高APP的B格.博主表示亲测有效 ...

  7. 关于IOS中通过图片实现动画效果

    其实,让图片生成动画特别简单,就是快速轮播一组图片,形成视觉上的动画效果.需要用到的就是UIImageView,并且设置它的一些属性就可行了.包括以前很流行的Tom猫等小游戏,都是可以通过这个来实现. ...

  8. android图片消失动画效果,用setAnimationStyle来设置popwindow显示消失的动画效果

    popwindow通过setAnimationStyle(int animationStyle)函数来设置动画效果 android:windowEnterAnimation表示进入窗口动画 andro ...

  9. vegas可以做动画吗_Vegas 对静态图片做动画效果

    有用户在后台问小编如何实现Vegas静态图片变成从右边慢慢切入,然后在切入后某部分图片放大的效果. 这个效果小编称为Vegas图片切入放大效果,以下将做详细操作教程. 在做效果之前,小编今天早上打开V ...

最新文章

  1. c++ 按键暂停继续 程序_CNC操作面板讲解,看看这些按键是什么意思
  2. CSP认证201809-4 再卖菜[C++题解]:差分约束、前缀和
  3. Java架构师在线视频,架构师的7大必备技能
  4. 设置 NSZombieEnabled 定位 EXC_BAD_ACCESS 错误
  5. EBB-4、忘记root密码;文件,目录权限
  6. NLP—6.数据不平衡处理
  7. 编程常用英语词汇大全
  8. vue实现拍照人脸识别功能带人脸选中框
  9. 线性渐变与径向渐变与重复渐变
  10. 计算机网络 自顶向下方法.原书第6版 - 网络层次、应用、发展
  11. 求n个整数的平均值与中位数
  12. 为CIFAR图片分类模型添加BN
  13. 【粗翻】CALIPSO数据用户指南-激光雷达等级1B 4.x数据质量声明
  14. JAVA中phrase居左_mymail iText中用文本块(chunk)、短语(Phrase)和段 联合开发网 - pudn.com...
  15. 上可以替代mobaxterm_电能替代 | 基于逻辑回归模型的电能替代用户辨识研究
  16. PHP 门面设计模式
  17. C语言中循环语句(while)
  18. 慈溪2021高考学校成绩查询,2020年慈溪部分学校的高考最高分数据
  19. Ajax注册表单用户名实时验证
  20. Qt Creator编译报错: C2001: 常量中有换行符

热门文章

  1. 计算机开源期刊电子和计算机方向的
  2. 番茄钟怎么设置,教你用便签设置番茄钟
  3. 计算机word求差函数,【2人回答】Word表格求差函数(不是Excel中哦)-3D溜溜网
  4. 用链接提交form表单
  5. 计算机毕业设计Java疫苗药品批量扫码识别追溯系统(系统+源码+mysql数据库+Lw文档)
  6. 在vim中 安装php的xdebug和 vdebug插件, 在vim中进行调试php代码
  7. 基于DIPUM工具箱对图书数字图像进行处理(Matlab代码实现)
  8. JAVA_初识工厂模式
  9. Symfony2 安装
  10. 学IT,自学好还是培训好?