日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python教你一招】用Python实现黑客帝国代码雨效果(3种方式)

發(fā)布時間:2023/12/31 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python教你一招】用Python实现黑客帝国代码雨效果(3种方式) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

學習素材與源碼在Python學習交流群:733089476 獲取


說起電影《黑客帝國》,相信大部分人都看過或聽說過,影片中有一個場景數(shù)字雨,如果你看過電影的話,應該對這個經(jīng)典場景印象深刻,本文我們利用 Python 以數(shù)字、字母、圖片三種形式來實現(xiàn)這一效果。

1. 數(shù)字

首先,我們來實現(xiàn)數(shù)字雨,我們需要創(chuàng)建一個窗口來顯示內容,窗口的創(chuàng)建使用 pygame 庫,代碼實現(xiàn)如下:

FONT_PX = 15 pygame.init() winSur = pygame.display.set_mode((500, 600)) font = pygame.font.SysFont('fangsong', 20) 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)) # 數(shù)字 texts = [font.render(str(i), True, (0, 255, 0)) for i in range(10)] colums = int(500 / FONT_PX) drops = [0 for i in range(colums)] while True:for event in pygame.event.get():if event.type == pygame.QUIT:exit()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] += 1if drops[i] * 10 > 600 or random.random() > 0.95:drops[i] = 0pygame.display.flip()

實現(xiàn)效果如下:

2. 字母

接著,我們再來實現(xiàn)字母雨,實現(xiàn)方式基本就是將上面實現(xiàn)數(shù)字雨的數(shù)字換成字母,代碼實現(xiàn)如下:

PANEL_width = 400 PANEL_highly = 500 FONT_PX = 15 pygame.init() # 創(chuàng)建一個窗口 winSur = pygame.display.set_mode((PANEL_width, PANEL_highly)) font = pygame.font.SysFont('123.ttf', 22) bg_suface = pygame.Surface((PANEL_width, PANEL_highly), flags=pygame.SRCALPHA) pygame.Surface.convert(bg_suface) bg_suface.fill(pygame.Color(0, 0, 0, 28)) winSur.fill((0, 0, 0)) letter = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c','v', 'b', 'n', 'm'] texts = [font.render(str(letter[i]), True, (0, 255, 0)) for i in range(26) ] # 按窗口的寬度來計算可以在畫板上放幾列坐標并生成一個列表 column = int(PANEL_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:chang = pygame.key.get_pressed()if (chang[32]):exit()# 暫停給定的毫秒數(shù)pygame.time.delay(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] += 1if drops[i] * 10 > PANEL_highly or random.random() > 0.95:drops[i] = 0pygame.display.flip()

實現(xiàn)效果如下:

3. 圖片

最后,我們使用圖片來實現(xiàn)這一效果,圖片我們就使用雨滴吧,這里我們使用 tkinter 創(chuàng)建窗口,代碼實現(xiàn)如下:

# 初始雨滴縱坐標 INIT_HEIGHT = 10 # 雨滴創(chuàng)建 def rainmake(canvas, imagefile):rainlist = []for i in range(5):# 根據(jù)圖片,創(chuàng)建一排雨滴rainlist.append(canvas.create_image(100 + 80 * i, INIT_HEIGHT, anchor=NE, image=imagefile))return rainlist# 雨滴下落 def raindown(tk, canvas, imagefile, sec):# 線程間等待time.sleep(sec)rainlist = rainmake(canvas, imagefile)# 每個雨滴的縱坐標值height = [INIT_HEIGHT] * 10while True:# 每次移動前稍等一會time.sleep(0.2)# 5 個雨滴一起移動for i in range(5):# 如果雨滴字到底了,則不繼續(xù)移動if not height[i] == 0:# 設置下落步調rnd = random.randint(5, 50)canvas.move(rainlist[i], 0, rnd)height[i] = height[i] + rndtk.update()for i,h in enumerate(height):if h > 400:# 當雨滴字走到最下方,則刪除canvas.delete(rainlist[i])tk.update()# 清空該雨滴的 heightheight[i] = 0print(i,h,height)# 全到底,則跳出循環(huán)if height == [0] * 5:print('break:',threading.current_thread().name)breakdef lookloop(tk, canvas, thread):aliveflg = Falsewhile True:# 5s 檢測一次time.sleep(5)for th in thread:if th.is_alive():aliveflg = Trueelse:aliveflg = Falseif aliveflg == False:breakcanvas.create_text(100 , 200, text='雨停了...', fill='red')canvas.pack()time.sleep(5)tk.destroy()

實現(xiàn)效果如下:

學習素材與源碼在Python學習交流群:733089476 獲取

總結

以上是生活随笔為你收集整理的【Python教你一招】用Python实现黑客帝国代码雨效果(3种方式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九爱爱视频 | 日本在线视频免费 | 奇米一区二区 | 一区三区在线观看 | 97成人超碰 | 亚洲瘦老头同性xxxxx | 青青草在线观看视频 | 秋霞三区 | 91麻豆一区二区三区 | 国产福利片在线 | 久久精品色欲国产AV一区二区 | 色婷婷久久久亚洲一区二区三区 | 不卡一区二区三区四区 | 久久久国产精品x99av | 婷婷精品在线 | 中文字幕黄色片 | 91日韩在线| 欧美亚洲色综久久精品国产 | 杨幂毛片午夜性生毛片 | 欧美欧美欧美欧美 | 午夜一级大片 | 午夜爱爱网 | 懂色av蜜臂av粉嫩av | 91精品国产自产精品男人的天堂 | 久久精品视频16 | 美女性高潮视频 | 中文人妻一区二区三区 | 综合另类| 久久久久亚洲AV成人无在 | 国产精品第12页 | 日韩欧美精品久久 | 精品一二三区久久aaa片 | 在线免费观看黄 | 中国新婚夫妻性猛交 | 一级片aaaaa| a资源在线观看 | 亚洲精品国产精品乱码不66 | av地址在线 | 人妻少妇久久中文字幕 | 久久精品欧美日韩精品 | 久久精品国产精品亚洲色婷婷 | 美女扒开尿口让男人爽 | 国产人妻777人伦精品hd | 亚洲在线国产 | 国产第一av | 男人插入女人阴道视频 | 日韩高清在线一区 | 伊人影院亚洲 | 一区二区三区四区国产精品 | 欧美人妻日韩精品 | 国产一区二区av | av无码一区二区三区 | 怎么可能高潮了就结束漫画 | 精品久久综合 | 亚洲少妇网站 | 欧美精品三级 | 不卡av片 | 欧美性动态图 | 欧美日韩综合在线观看 | 蜜桃av网| 中文字幕第15页 | 大陆日韩欧美 | 国产精品野外户外 | 色国产精品 | 国产成人99久久亚洲综合精品 | 影音先锋中文字幕一区 | 色视频线观看在线播放 | 一区二区三区四区国产精品 | 日日夜夜操视频 | 调教丰满的已婚少妇在线观看 | 欧美性受xxxx黑人猛交88 | 91成年影院 | 三年大片在线观看 | 亚洲激情av在线 | xxx精品 | 99久精品| 光棍影院av | feel性丰满白嫩嫩hd | 日韩免费精品视频 | 国产一级伦理片 | 男人天堂社区 | 欧美日韩一卡二卡 | 青青青免费视频观看在线 | 精品一区二区在线看 | 成人a级网站 | 日韩黄色片在线观看 | 欧美卡一卡二 | 毛片88 | 欧美一级片免费在线观看 | 中文字幕第九页 | 日韩欧美高清dvd碟片 | 日本成人免费 | 午夜福利理论片在线观看 | 亚洲最大成人网色 | 精品黑人一区二区三区观看时间 | 欧美电影一区二区三区 | 天天曰天天 | 欧美三级自拍 | 色九九视频 |