pygame制作的一个图片滚动
来源:互联网 发布:新淘宝店怎么提高销量 编辑:程序博客网 时间:2024/04/29 07:08
学了python有一个月,想拿些简单的小项目来练练手,觉得pygame是一个很有意思的东西,就装了pygame来写点小玩意。图片滚动是在网页设计里面比较基础的东西,网上的js实现基本上都是那一个算法,我这里的算法实现也是参照的它。
算法描述
首先生成一个列表将所需要图片对象都装在里面,通过动态改变第一张图片的位置坐标(x1, y1)来实现按照列表中元素的顺序图片无限循环滚动。每当列表中的一张图片左滑至完全消失,将其加至列表的末尾。
代码实现
# -*- coding:utf-8 -*-import pygamefrom pygame.locals import *from sys import exitpygame.init()# 初始化pygame对象screen = pygame.display.set_mode((400, 250), 0, 24)# 设置显示的屏幕的模式和像素大小image1_filename = 'img/1.bmp'image2_filename = 'img/2.bmp'image3_filename = 'img/3.bmp'# 对于所需要的背景图命名bgimage1 = pygame.image.load(image1_filename).convert()bgimage2 = pygame.image.load(image2_filename).convert()bgimage3 = pygame.image.load(image3_filename).convert()# 将三张背景图片都加载和转化bgimage = [bgimage1, bgimage2, bgimage3]# 生成一个image列表,后面将列表所有元素的同时向前移动一位会用到x1, y1 = 0, 0# 给出第一张背景图左上角的坐标while True: for event in pygame.event.get(): if event.type == QUIT: exit() # 事件捕捉使得用户退出程序 x1 -= 2 #通过改变数值能够改变滑动的速度 if x1 <= -400: bgimage = bgimage[1:]+bgimage[:1] # 每当列表中的第一张图片左移动至完全消失的时候,将第一张图片加到列表的末尾 bgimage1, bgimage2, bgimage3 = bgimage x1 = 0 # 图片水平滑动的算法 screen.blit(bgimage1, (x1, y1)) screen.blit(bgimage2, (x1+400, y1)) screen.blit(bgimage3, (x1+800, y1)) # 把三张背景图依次画到屏幕上 pygame.display.update() # 使得pygame对象不断刷新
但是代码还是有bug的,pygame中图片显示依靠的是所有的pygame.display 对象不断刷新然后再blit()在屏幕上的,从执行图片滑动算法到图片执行update()是有时间差的,每张图片滑过一个width后都会有很小的一段时间显示是空白。大家如果有好的方法希望不吝赐教。:)
0 0
- pygame制作的一个图片滚动
- JQUERY制作图片滚动
- pygame截取图片的部分
- 【html】【一个滚动的图片的代码】
- 一个简单的图片滚动实例
- CSS滚动图片制作技巧
- 使用javascript制作滚动图片
- ViewPager制作循环滚动图片
- javascript 制作随鼠标滚动的广告图片
- 19.制作自动切换滚动的图片轮播
- 一个图片滚动js
- 制作一个简单的WPF图片浏览器
- 制作一个简单的WPF图片浏览器
- 一个简单的WPF图片动画制作
- 一个制作明信片图片的 app
- 用ps制作一个半透明的图片
- 无缝滚动的制作
- 滚动字幕的制作
- [Leetcode]4Sum
- SET和SHOW语法SET可以用于设置各种变量或者选项
- Android-性能优化典范(第三季)
- 如何修改window默认管理员名字
- PHPExcel判断与转换Excel中的日期
- pygame制作的一个图片滚动
- ios中UIButton选中状态切换
- 《ARM与Linux些许问题》第三章:Linux如何从用户态进入内核态
- HBase简单代码实例(Java)
- FindResource 如何获取自定义资源
- Shell脚本调试小技巧
- java——泛型
- 【Leet Code】73. Set Matrix Zeroes---Medium
- UVA 11584 Partitioning by Palindromes