用到的包
import pygame
import numpy as np
import random
pygame窗口
FONT_PX = 15
run = True
pygame.init()
winSur = pygame.display.set_mode((500,600))
#font = pygame.font.SysFont('fangsong',20)
font = pygame.font.SysFont('123.ttf',22)
bg_suface = pygame.Surface((500,600),flags = pygame.SRCALPHA)
pygame.Surface.convert(bg_suface)
bg_suface.fill(pygame.Color(0,0,0,13))
winSur.fill((0,0,0))
#雨滴内容
letter = ['a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z',
'0','1','2','3','4','5','6','7','8','9']
texts = [font.render(str(letter[i]),True,(0,255,0)) for i in range(len(letter))]
colums = int(500 / FONT_PX)
drops = [0 for i in range(colums)]
主要循环
while run:
#捕捉一下错误,不然会因为关闭pygame窗口报大量error
try:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
run = False
pygame.time.delay(33)
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 > 600 or random.random() > 0.95:
drops[i] = 0
pygame.display.flip()
except:
pass