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. CCNP路由实验---3、人工汇总EIGRP路由
  2. YUV与像素值之间的关系
  3. eclipse上搭建mybatis
  4. Hadoop入门(七)Mapreduce高级Shuffle
  5. 最佳实践|Spring Boot 应用如何快速接入 Prometheus 监控
  6. c语言找出递增子数组的长度,求给定数组的最长递增子序列(记录子序列的值)...
  7. [转载] [转载] python中的Numpy库入门
  8. 游戏筑基开发之初识指针
  9. 使用google doc制作在线问卷调查表
  10. 英语作文《健康的重要性》
  11. 大数据和云计算技术周报(第101期)
  12. win10自带ubuntu桌面_windows10开启 linux子系统桌面,巨详细,值得一藏
  13. 自定义的毛玻璃效果,高斯模糊
  14. MybatisPlus查询条件和排序高级封装
  15. 宝宝出生需要的相关资料
  16. Java之IO流技术详解
  17. [ADS]ADS1.2软件的破解
  18. html边框颜色线性渐变,css3设置边框颜色渐变的方法有哪些
  19. Node.js CQRS 幻灯片系统开发实战-曾亮-专题视频课程
  20. 使用Vlookup筛选数据

热门文章

  1. C语言自动类型转换和强制类型转换详解,C语言强制类型转换 - 地狱的烈火的个人页面 - OSCHINA - 中文开源技术交流社区...
  2. WebScreenshot: ASP.NET Core + Selenium 实现 网页截图
  3. 英语中不“吃醋”,所以a touch of vinegar啥意思?
  4. Java中的byte和二进制梳理
  5. Android音频录制--AudioRecord
  6. 为什么手机上传图片这么慢 前端_移动端图片上传旋转、压缩的解决方案
  7. PMP课堂模拟题目及解析(第15期)
  8. SqlServer和MySql允许脏读的实现方式,提高查询效率
  9. NVIDIA Jetson TX1 项目开发二刷机(使用JetPack3.1重装系统)
  10. 关于word进行期刊论文排版的一些问题记录