最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)新年愿望代碼雨效果

 更新時(shí)間:2023年01月12日 15:06:49   作者:Carl_奕然  
新的一年又要來(lái)了,這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)新年愿望代碼雨的動(dòng)畫(huà)效果。文中的示例代碼講解詳細(xì),感興趣的可以動(dòng)手嘗試一下

1、引言

小絲:魚(yú)哥,2023年了, 你有啥愿望???

小魚(yú):這, 我可以選擇不告訴你嗎?

小絲:可以選擇不告訴我,但是,你自己憋著,不難受嗎?

小魚(yú):… 我可以告訴別人嗎?

小絲:… 還有誰(shuí)能像我,認(rèn)真聽(tīng)你的愿望。

小魚(yú):這2023年剛開(kāi)始,你這是來(lái)給我添堵,故意的??

小絲:既然你不想告訴我,那我也不勉強(qiáng)了,畢竟…

小魚(yú):你說(shuō)話,說(shuō)一半,留一半,不憋得難受嗎?

小絲:習(xí)慣了, 反正, 我不難受,難受的就是別人!

小魚(yú):你可以啊, 長(zhǎng)大了, 翅膀硬了。

小絲:別這么說(shuō), 畢竟, 我還有求于你。

小魚(yú):我可以拒絕嗎?

小絲:我可以說(shuō)拒絕無(wú)效嗎?

小魚(yú):…

小絲:我在某音看到一個(gè)特效,蠻好的, 想讓你幫我搞一下。

小魚(yú):深呼吸…深呼吸… 好吧, 你說(shuō)吧,啥特效。

小絲:為了看的更直觀, 我再放個(gè)截個(gè)圖。

小魚(yú):嗯,這個(gè),我知道的。雨一直下,氣氛不再融洽,在同個(gè)屋檐下 你漸漸…

小絲:停,停,停,打住。你咋還唱上了。

小魚(yú):哎嘜呀… 入景了。

小絲:可別正沒(méi)用的, 咱們要干正事了。

小魚(yú):好好好, 那咱,就趁著新年, 許個(gè)愿望吧。

小絲:你瞅瞅, 這立flag,還得我魚(yú)哥。

2、代碼實(shí)戰(zhàn)

2.1 模塊介紹

2.1.1 Pygame 介紹

在這里,我們要用到的第三方庫(kù)是 Pygame,

我相信,關(guān)于pygame,有些同學(xué)還是很陌生的,這里,我也是簡(jiǎn)單的嘮叨幾句:

Pygame 是一組用來(lái)開(kāi)發(fā)游戲軟件的 Python 程序模塊,基于 SDL 庫(kù)的基礎(chǔ)上開(kāi)發(fā);

Pygame 是一個(gè)高可移植性的模塊可以支持多個(gè)操作系統(tǒng),是跨平臺(tái)Python模塊,為游戲而設(shè)計(jì)的庫(kù);

Pygame是免費(fèi)的庫(kù);

2.1.2 Pygame的display介紹

display模塊常用函數(shù)介紹:

  • pygame.display.init():初始化display 模塊;
  • pygame.display.quit():結(jié)束display 模塊;
  • pygame.display.get_init():如果display已經(jīng)初始化,則返回True;
  • pygame.display.set_mode():初始化一個(gè)準(zhǔn)備顯示的窗口;
  • pygame.display.get_surface():獲取當(dāng)前顯示的Surface對(duì)象;
  • pygame.display.flip():更新整個(gè)待顯示的 Surface 對(duì)象到屏幕上;
  • pygame.display.list_modes():獲取全屏模式下可使用的分辨率;

2.1.3 Pygame的event介紹

event模塊常用函數(shù)介紹:

  • pygame.event.pump() : 讓 Pygame 內(nèi)部自動(dòng)處理事件 ;
  • pygame.event.get() : 從隊(duì)列中獲取事件;
  • pygame.event.poll() : 從隊(duì)列中獲取一個(gè)事件 ;
  • pygame.event.wait() — 等待并從隊(duì)列中獲取一個(gè)事件;
  • pygame.event.peek() : 檢測(cè)某類(lèi)型事件是否在隊(duì)列中 ;
  • pygame.event.clear() :從隊(duì)列中刪除所有的事件 ;
  • pygame.event.event_name() : 通過(guò) id 獲得該事件的字符串名字;
  • pygame.event.set_blocked() : 控制哪些事件禁止進(jìn)入隊(duì)列 ;
  • pygame.event.set_allowed(): 控制哪些事件允許進(jìn)入隊(duì)列 ;
  • pygame.event.get_blocked() :檢測(cè)某一類(lèi)型的事件是否被禁止進(jìn)入隊(duì)列;
  • pygame.event.set_grab() : 控制輸入設(shè)備與其他應(yīng)用程序的共享 ;
  • pygame.event.get_grab() : 檢測(cè)程序是否共享輸入設(shè)備 ;
  • pygame.event.post() :放置一個(gè)新的事件到隊(duì)列中;
  • pygame.event.Event(): 創(chuàng)建一個(gè)新的事件對(duì)象;

2.1.4 Pygame的font介紹

font模塊常用函數(shù)介紹:

  • pygame.font.init() : 初始化字體模塊;
  • pygame.font.quit(): 還原字體模塊;
  • pygame.font.get_init() : 檢查字體模塊是否被初始化;
  • pygame.font.get_default_font() : 獲得默認(rèn)字體的文件名;
  • pygame.font.get_fonts() : 獲取所有可使用的字體;
  • pygame.font.match_font() : 在系統(tǒng)中搜索一種特殊的字體;
  • pygame.font.SysFont() :從系統(tǒng)字體庫(kù)創(chuàng)建一個(gè) Font 對(duì)象 類(lèi);

2.2 代碼示例

了解了Pygame的模塊的基本使用方法, 我們就來(lái)代碼實(shí)現(xiàn)。

代碼示例:

# -*- coding:utf-8 -*-
# @Time   : 2023-01-01
# @Author : Carl_DJ
'''
實(shí)現(xiàn)功能:
    新年愿望代碼雨
'''

import random
import pygame

# 設(shè)置窗口的尺寸
Windows_width = 1000
Windows_heigh = 800

#創(chuàng)建代碼雨窗口
pygame.init()
winsur = pygame.display.set_mode((Windows_width,Windows_heigh))

# 設(shè)置文字間距
font_px = 18

#設(shè)置文字大小
font_a = pygame.font.SysFont('',26)
bg_suface = pygame.Surface((Windows_width,Windows_heigh),flags = pygame.SRCALPHA)
pygame.Surface.convert(bg_suface)
bg_suface.fill(pygame.Color(0,0,0,26))
#填充
winsur.fill((0,0,0))

# 設(shè)置代碼雨的內(nèi)容
message =  '2023 HappyNewYear! 2023HappyNewYear! 2023 HappyNewYear!'

#設(shè)置字體及顏色
texts = [font_a.render(message[i],True,(10,255,255)) for  i in range(40)]

# 設(shè)置屏幕顯示比例,防止字幕超過(guò)屏幕
colum = int(Windows_width/ font_px)
drops = [0 for i in range (colum)]

# 讓字幕一直顯示,避免一閃而過(guò)的尷尬
while True:
    #從隊(duì)列中獲取
    for event in pygame.event.get():
        #添加判斷,超過(guò)則退出
        if event.type == pygame.QUIT:
            exit()
        elif event.type == pygame.KEYDOWN:
            change = pygame.key.get_pressed()
            if change[30]:
                exit()
    # 設(shè)置下落速度為50ms
    pygame.time.delay(50)

    #重新編譯圖像
    winsur.blit(bg_suface,(0,0))
    for i in range(len(drops)):
        text = random.choice(texts)
        #重排每個(gè)坐標(biāo)點(diǎn)
        winsur.blit(text,(i * font_px,drops[i] * font_px))
        drops[i] += 1
        #禁止行數(shù)超過(guò)屏幕的高
        if drops[i] * 10 > Windows_heigh or random.random() > 0.95:
            drops[i] = 0
    pygame.display.flip()

執(zhí)行效果

我再上一個(gè)截圖,讓你看的更直觀

3、總結(jié)

看到這里, 今天的分享就要結(jié)束了。

今天主要介紹的是Pygame庫(kù)的font、display、event等常用模塊。

現(xiàn)在再回顧功能的實(shí)現(xiàn)邏輯, 其實(shí)也不算太難嘛。

你看, 也就 70多行代碼呢。

2023,你肯定行的。

到此這篇關(guān)于Python實(shí)現(xiàn)新年愿望代碼雨效果的文章就介紹到這了,更多相關(guān)Python代碼雨內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信公眾號(hào)腳本-獲取熱搜自動(dòng)新建草稿并發(fā)布文章

    微信公眾號(hào)腳本-獲取熱搜自動(dòng)新建草稿并發(fā)布文章

    本來(lái)想寫(xiě)一個(gè)自動(dòng)化發(fā)布微信公眾號(hào)的小綠書(shū)的腳本,但是微信公眾號(hào)官網(wǎng)沒(méi)有小綠書(shū)的接口,那就寫(xiě)一個(gè)獲取熱搜微信普通文章的腳本吧,這篇文章主要介紹了微信公眾號(hào)腳本-獲取熱搜自動(dòng)新建草稿并發(fā)布文章
    2025-04-04
  • python3處理含有中文的url方法

    python3處理含有中文的url方法

    今天小編就為大家分享一篇python3處理含有中文的url方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 對(duì)Python中畫(huà)圖時(shí)候的線類(lèi)型詳解

    對(duì)Python中畫(huà)圖時(shí)候的線類(lèi)型詳解

    今天小編就為大家分享一篇對(duì)Python中畫(huà)圖時(shí)候的線類(lèi)型詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python淘寶準(zhǔn)點(diǎn)秒殺搶單的實(shí)現(xiàn)示例

    python淘寶準(zhǔn)點(diǎn)秒殺搶單的實(shí)現(xiàn)示例

    為了想要搶到想要的商品,想了個(gè)用Python實(shí)現(xiàn)python淘寶準(zhǔn)點(diǎn)秒殺搶單方案,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Pandas實(shí)現(xiàn)兩個(gè)表的連接功能的方法詳解

    Pandas實(shí)現(xiàn)兩個(gè)表的連接功能的方法詳解

    這篇文章主要和大家一起說(shuō)說(shuō)pandas的兩個(gè)表的連接技能merge,也就是根據(jù)一個(gè)表的條件去匹配另一個(gè)表的內(nèi)容,感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • Python中String模塊示例詳解

    Python中String模塊示例詳解

    string模塊主要包含關(guān)于字符串的處理函數(shù),這篇文章主要介紹了Python中String模塊示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • python使用7z解壓軟件備份文件腳本分享

    python使用7z解壓軟件備份文件腳本分享

    這篇文章主要介紹了python使用7z解壓軟件備份文件腳本,需要的朋友可以參考下
    2014-02-02
  • Pandas.DataFrame的行名和列名的修改

    Pandas.DataFrame的行名和列名的修改

    本文主要介紹了Pandas.DataFrame的行名和列名的修改,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python anaconda 安裝 環(huán)境變量 升級(jí) 以及特殊庫(kù)安裝的方法

    python anaconda 安裝 環(huán)境變量 升級(jí) 以及特殊庫(kù)安裝的方法

    下面小編就為大家?guī)?lái)一篇python anaconda 安裝 環(huán)境變量 升級(jí) 以及特殊庫(kù)安裝的方法。
    2017-06-06
  • 我們?yōu)槭裁匆獪p少Python中循環(huán)的使用

    我們?yōu)槭裁匆獪p少Python中循環(huán)的使用

    這篇文章主要介紹了我們?yōu)槭裁匆獪p少Python中循環(huán)的使用,我將闡述 Python 提供的一些簡(jiǎn)單但是非常有用的結(jié)構(gòu),一些小技巧以及一些我在數(shù)據(jù)科學(xué)工作中遇到的案例。我將討論 Python 中的 for 循環(huán),以及如何盡量避免使用它們,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

西青区| 海盐县| 仁寿县| 西藏| 洪雅县| 大冶市| 桂平市| 弥勒县| 富锦市| 阜新市| 宝清县| 平乡县| 汽车| 宝坻区| 无棣县| 山阴县| 唐山市| 黄浦区| 拉萨市| 拜城县| 安丘市| 武安市| 景泰县| 永平县| 金湖县| 华坪县| 大连市| 旬邑县| 白城市| 云阳县| 临猗县| 津南区| 井陉县| 屯门区| 望江县| 阿荣旗| 分宜县| 惠水县| 久治县| 大洼县| 清涧县|