python 實現打印掃描效果詳情

1. 介紹

前面我們嘗試通過python實現瞭代碼雨以及字母隨機閃爍的效果,這次,我們再來實現一個代碼的線性掃面。

同樣的,此次我們仍然是使用30行代碼來實現這個效果。

此次我們隻是用pygamerandom兩個包,首先,將他們導入:

import pygame
import random

之後,我們進行pygame界面的初始化工作:

# 參數
SCREENSIZE=(600,600)
BLACK=(0,0,0,13)
# 初始化
pygame.init()
font = pygame.font.SysFont('宋體', 20)
screen = pygame.display.set_mode(SCREENSIZE)
surface = pygame.Surface(SCREENSIZE, flags=pygame.SRCALPHA)
pygame.Surface.convert(surface)
surface.fill(BLACK)
screen.fill(BLACK)

之後設置一下我們字體的相關內容:

# 內容
lib=[chr(i) for i in range(48,48+10)] + [chr(i) for i in range(97,97+26)]   # [0-9 a-z]
texts = [font.render(l, True, (0, 255, 0)) for l in lib]
cols = list(range(40))  # 字體15, 窗口600

最後在一個循環中,更新界面並繪制出代碼雨:

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    pygame.time.delay(33)
    screen.blit(surface, (0, 0))
    for i in range(n:=len(cols)):
        text = random.choice(texts)
        # 字母掃描
        screen.blit(text, (i * 15, cols[i] * 15))
        cols[i] = (cols[i]+1)%40
    pygame.display.flip()

2. 完整代碼

完整代碼如下:

import pygame
import random
# 參數
SCREENSIZE=(600,600)
BLACK=(0,0,0,13)
# 初始化
pygame.init()
font = pygame.font.SysFont('宋體', 20)
screen = pygame.display.set_mode(SCREENSIZE)
surface = pygame.Surface(SCREENSIZE, flags=pygame.SRCALPHA)
pygame.Surface.convert(surface)
surface.fill(BLACK)
screen.fill(BLACK)
# 內容
lib=[chr(i) for i in range(48,48+10)] + [chr(i) for i in range(97,97+26)]   # [0-9 a-z]
texts = [font.render(l, True, (0, 255, 0)) for l in lib]
cols = list(range(40))  # 字體15, 窗口600
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    pygame.time.delay(33)
    screen.blit(surface, (0, 0))
    for i in range(n:=len(cols)):
        text = random.choice(texts)
        # 字母掃描
        screen.blit(text, (i * 15, cols[i] * 15))
        cols[i] = (cols[i]+1)%40
    pygame.display.flip()

截止到現在,我們已經學會瞭用簡簡單單的30行代碼實現代碼雨,閃爍代碼以及線性掃描三種炫酷的特效瞭,相信大傢在這個過程中也對 python 有瞭一個最初步的理解與認識,

到此這篇關於python 實現打印掃描效果詳情的文章就介紹到這瞭,更多相關python 打印掃描內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: