python實(shí)現(xiàn)雪花飄落效果實(shí)例講解
在學(xué)習(xí)pygame模塊過(guò)程中,我們可以通過(guò)使用 pygame模塊實(shí)現(xiàn)很多功能性的東西,但是很多人應(yīng)該沒(méi)有利用pygame實(shí)現(xiàn)過(guò)雪花飄落的效果吧,有時(shí)候可能是不知道從何入手或者是沒(méi)有時(shí)間寫(xiě),接下來(lái)我就教大家如何利用pygame模塊實(shí)現(xiàn)雪花飄落的效果吧,總共都用不到40行代碼就可以實(shí)現(xiàn)哦,希望對(duì)你們有所幫助
第一步:我們先打開(kāi)我們的pycharm軟件,然后新建一個(gè)Python文件
第二步:建立好文件之后,我們?cè)诰庉嬳?yè)面輸入以下代碼:
import pygame import sys #導(dǎo)入模塊 import random #設(shè)置窗體圖形界面 screen = pygame.display.set_mode((700,500)) #設(shè)置窗體的屏幕寬高,screen變量接收屏幕 pygame.display.set_caption("吳秀柔 16級(jí)計(jì)科2班") #設(shè)置窗體的標(biāo)題 #雪花 snowImage='image/snow.png' #定位圖片 snowStart=pygame.image.load(snowImage) #加載圖片 #定義一個(gè)圖像和雪花列表 imagelist=[] snowlist=[] #繪制初始化雪花 for i in range(20):# 隨機(jī)給出雪花在窗體上,一次可以顯示的個(gè)數(shù) x = random.randint(0,600) #參數(shù)1為上限,參數(shù)2為下限 y = random.randint(0,450) snowlist.append(random.randint(1,2)) #雪花下落的速度 imagelist.append([x,y]) # 保存隨機(jī)獲得的位置 #繪制雪花在窗體上 while True: screen.fill((0,0,0)) #設(shè)置窗體的背景為黑色 # 消息事件循環(huán),判斷退出 for event in pygame.event.get(): #獲得一個(gè)事件的列表 if event.type == pygame.QUIT: #如果事件類(lèi)型,退出 sys.exit() #安全退出 num=0 for y in imagelist: # 雪花列表循環(huán),從y軸的上限往下限方向飄落 y[1]=y[1]+snowlist[num] #改變Y軸坐標(biāo),移動(dòng)雪花位置 num+=1 screen.blit(snowStart,(y[0],y[1])) # 打印雪花 if y[1]>=500: #當(dāng)雪花達(dá)到下限,落出屏幕之后,重設(shè)位置 y[1]=-snowStart.get_height() #重設(shè)Y軸的坐標(biāo)到0以上,從而使得雪花下一次循環(huán)有效 pygame.display.update() # 刷新畫(huà)面
第三步:寫(xiě)好我們的代碼之后,我們直接同時(shí)按住鍵盤(pán)上的Ctrl+shift+F10或者鼠標(biāo)右鍵,找到“run”,進(jìn)行程序的運(yùn)行編譯
第四步:運(yùn)行之后就可以看到我們的雪花飄落的效果了。
第五步:在這代碼當(dāng)中,我已經(jīng)對(duì)每一句代碼都進(jìn)行了注釋?zhuān)M軐?duì)你們有所幫助,這串代碼總共都不超過(guò)50行
第六步:在運(yùn)行代碼之后,我們要確認(rèn)我們的雪花圖片所在的路徑位置是否與我們代碼中指定的雪花圖片路徑位置一致,如果不一致記得給出圖片所在的準(zhǔn)確位置
第七步:在這個(gè)代碼中,主要是通過(guò)使用pygame模塊實(shí)現(xiàn)的一個(gè)效果,希望能對(duì)你們有所幫助,有誤之處多多諒解!
相關(guān)文章
Python爬蟲(chóng)入門(mén)有哪些基礎(chǔ)知識(shí)點(diǎn)
在本篇文章中小編給大家整理的是關(guān)于Python爬蟲(chóng)入門(mén)基礎(chǔ)知識(shí)點(diǎn)整理,有興趣的朋友們可以跟著學(xué)習(xí)下。2020-06-06Python閉包實(shí)現(xiàn)計(jì)數(shù)器的方法
這篇文章主要介紹了Python閉包實(shí)現(xiàn)計(jì)數(shù)器的方法,分析了閉包的概念及實(shí)現(xiàn)計(jì)數(shù)器的相關(guān)技巧,需要的朋友可以參考下2015-05-05Python虛擬機(jī)棧幀對(duì)象及獲取源碼學(xué)習(xí)
這篇文章主要為大家介紹了Python虛擬機(jī)棧幀對(duì)象及獲取源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03圖文詳解Django使用Pycharm連接MySQL數(shù)據(jù)庫(kù)
這篇文章主要介紹了Django使用Pycharm連接MySQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python爬取w3shcool的JQuery課程并且保存到本地
本文主要介紹python爬取w3shcool的JQuery的課程并且保存到本地的方法解析。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04Python將CSV文件轉(zhuǎn)化為HTML文件的操作方法
很多朋友問(wèn)小編Python如何將CSV文件轉(zhuǎn)化為HTML文件,csv文件讀取怎么操作呢?帶著這些問(wèn)題一起通過(guò)本文學(xué)習(xí)吧2021-06-06