新闻动态

Python趣味挑战之教你用pygame画进度条

发布日期:2022-03-29 09:28 | 文章来源:站长之家

一、初始化主界面

import pygame
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption("好看的进度条显示V1.0")
clock = pygame.time.Clock()
while True:
 for event in pygame.event.get():
  if event.type == pygame.QUIT or event.type == pygame.K_F1:
pygame.quit()
sys.exit()
 screen.fill((255,255,255))
 clock.tick(30)
 pygame.display.flip()

二、第一种进度条

(一)核心代码

 pygame.draw.rect(screen,(192,192,192),(5,100,490,20))
 pygame.draw.rect(screen,(0,0,255),(5,100,step,20))

(二)设置步长,并循环递增

step += 1

(三)完整代码

import pygame,sys
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption("好看的进度条显示V1.0")
clock = pygame.time.Clock()
step = 0
while True:
 for event in pygame.event.get():
  if event.type == pygame.QUIT or event.type == pygame.K_F1:
pygame.quit()
sys.exit()
 screen.fill((255,255,255))
 # screen.fill((0,0,0))
 pygame.draw.rect(screen,(192,192,192),(5,100,490,20))
 pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20))
 step += 1
 clock.tick(60)
 pygame.display.flip()

(四)运行效果

三、第二种进度条

(一)核心代码

 pygame.draw.rect(screen,(192,192,192),(5,100,490,20))
 pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20))
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % 490)/490*100)), True, (255,0,0))
 screen.blit(text1, (245, 100))

(二)完整代码

import pygame,sys
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption("好看的进度条显示V1.0")
clock = pygame.time.Clock()
step = 0
while True:
 for event in pygame.event.get():
  if event.type == pygame.QUIT or event.type == pygame.K_F1:
pygame.quit()
sys.exit()
 screen.fill((255,255,255))
 # screen.fill((0,0,0))
 pygame.draw.rect(screen,(192,192,192),(5,100,490,20))
 pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20))
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % 490)/490*100)), True, (255,0,0))
 screen.blit(text1, (245, 100))
 step += 1
 clock.tick(60)
 pygame.display.flip()

(三)运行结果

四、第三种进度条

(一)核心代码

 pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20))
 pygame.draw.rect(screen,(0,0,255),(5,100,step % length,20))
 pygame.draw.circle(screen,(0,0,255),(step % length,110),10)
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0))
 screen.blit(text1, (245, 100))

(二)完整代码

import pygame,sys
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption("好看的进度条显示V1.0")
clock = pygame.time.Clock()
step = 0
length = 480
while True:
 for event in pygame.event.get():
  if event.type == pygame.QUIT or event.type == pygame.K_F1:
pygame.quit()
sys.exit()
 screen.fill((255,255,255))
 # screen.fill((0,0,0))
 pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20))
 pygame.draw.rect(screen,(0,0,255),(5,100,step % length,20))
 pygame.draw.circle(screen,(0,0,255),(step % length,110),10)
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0))
 screen.blit(text1, (245, 100))
 step += 1
 clock.tick(60)
 pygame.display.flip()

(三)运行效果

五、第四种进度条

(一)加载图片资源

picture = pygame.transform.scale(pygame.image.load('score/5.png'), (20, 20))

(二)画进度条

pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20))
 pygame.draw.rect(screen,(251,174,63),(5,100,step % length,20))

(三)画图片资源

  screen.blit(picture,(step%length,100))

(四)画文字

 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0))
 screen.blit(text1, (245, 100))

(五)完整代码

import pygame,sys
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption("好看的进度条显示V1.0")
clock = pygame.time.Clock()
picture = pygame.transform.scale(pygame.image.load('score/5.png'), (20, 20))
step = 0
length = 480
while True:
 for event in pygame.event.get():
  if event.type == pygame.QUIT or event.type == pygame.K_F1:
pygame.quit()
sys.exit()
 screen.fill((255,255,255))
 # screen.fill((0,0,0))
 pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20))
 pygame.draw.rect(screen,(251,174,63),(5,100,step % length,20))
 screen.blit(picture,(step%length,100))
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0))
 screen.blit(text1, (245, 100))
 step += 1
 clock.tick(60)
 pygame.display.flip()

(六)运行效果

六、综合案例

(一)完整代码

import pygame,sys
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption("好看的进度条显示V1.0")
clock = pygame.time.Clock()
picture = pygame.transform.scale(pygame.image.load('score/5.png'), (20, 20))
step = 0
length = 480
while True:
 for event in pygame.event.get():
  if event.type == pygame.QUIT or event.type == pygame.K_F1:
pygame.quit()
sys.exit()
 screen.fill((255,255,255))
 # screen.fill((0,0,0))
 # 第一种
 pygame.draw.rect(screen,(192,192,192),(5,100,490,20))
 pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20))
 # 第二种
 pygame.draw.rect(screen,(192,192,192),(5,150,490,20))
 pygame.draw.rect(screen,(0,0,255),(5,150,step % 490,20))
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % 490)/490*100)), True, (255,0,0))
 screen.blit(text1, (245, 150))
 # 第三种
 pygame.draw.rect(screen,(192,192,192),(5,200,length+10,20))
 pygame.draw.rect(screen,(0,0,255),(5,200,step % length,20))
 pygame.draw.circle(screen,(0,0,255),(step % length,210),10)
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0))
 screen.blit(text1, (245, 200))
 # 第四种
 pygame.draw.rect(screen,(192,192,192),(5,250,length+10,20))
 pygame.draw.rect(screen,(251,174,63),(5,250,step % length,20))
 screen.blit(picture,(step%length,250))
 font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16)
 text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0))
 screen.blit(text1, (245, 250))
 step += 1
 clock.tick(60)
 pygame.display.flip()

(二)运行效果

OK,写完,本博文纯属科普贴,技术含量不高,入门级别,大家喜欢就好。
而且里面代码相对比较简单,也没有考虑优化,大家在实操过程中可以优化完善,并反馈给我一起进步。

到此这篇关于Python趣味挑战之教你用pygame画进度条的文章就介绍到这了,更多相关pygame画进度条内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

国外服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部