前言
刚刚有人找我要流星雨的代码
可惜了,我没有这个,所以我就来搞个代码雨吧
效果展示
应该很多人都看过这个的
也是无聊就拿出来发发
实现代码
模块准备
import random
import pygame
初始化参数设计
win_width = 1000
win_height = 800
font_px = 15
创建窗口及文本设计
pygame.init()
winsur = pygame.display.set_mode((win_width, win_height))
font = pygame.font.SysFont('', 23)
bg_suface = pygame.Surface((win_width, win_height), flags=pygame.SRCALPHA)
pygame.Surface.convert(bg_suface)
bg_suface.fill(pygame.Color(0, 0, 0, 28))
winsur.fill((0, 0, 0))
文本内容
letter = '1234567890!@#$%^&*qwertyuiopasdfghjklzxcvbnm'
texts = [font.render(letter[i], True, (0, 255, 0)) for i in range(44)]
显示设计
python学习交流Q群:309488165 ### 源码领取
column = int(win_width / font_px)
drops = [0 for i in range(column)]
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
elif event.type == pygame.KEYDOWN:
change = pygame.key.get_pressed()
if change[32]:
exit()
延时30
winsur.blit(bg_suface, (0, 0))
for i in range(len(drops)):
text = random.choice(texts)
winsur.blit(text, (i * font_px, drops[i] * font_px))
drops[i] += 1
if drops[i] * 10 > win_height or random.random() > 0.95:
drops[i] = 0
pygame.display.flip()
最后
今天的分享到这里就结束了
顺便给大家推荐一些Python视频教程,希望对大家有所帮助:
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/