在學習pygame模塊過程中,我們可以通過使用 pygame模塊實現很多功能性的東西,但是很多人應該沒有利用pygame實現過雪花飄落的效果吧,有時候可能是不知道從何入手或者是沒有時間寫,接下來我就教大家如何利用pygame模塊實現雪花飄落的效果吧,總共都用不到40行代碼就可以實現哦,希望對你們有所幫助
第一步:我們先打開我們的pycharm軟件,然后新建一個Python文件
第二步:建立好文件之后,我們在編輯頁面輸入以下代碼:
import pygame
import sys #導入模塊
import random
#設置窗體圖形界面
screen = pygame.display.set_mode((700,500)) #設置窗體的屏幕寬高,screen變量接收屏幕
pygame.display.set_caption("吳秀柔 16級計科2班") #設置窗體的標題
#雪花
snowImage='image/snow.png' #定位圖片
snowStart=pygame.image.load(snowImage) #加載圖片
#定義一個圖像和雪花列表
imagelist=[]
snowlist=[]
#繪制初始化雪花
for i in range(20):# 隨機給出雪花在窗體上,一次可以顯示的個數
x = random.randint(0,600) #參數1為上限,參數2為下限
y = random.randint(0,450)
snowlist.append(random.randint(1,2)) #雪花下落的速度
imagelist.append([x,y]) # 保存隨機獲得的位置
#繪制雪花在窗體上
while True:
screen.fill((0,0,0)) #設置窗體的背景為黑色
# 消息事件循環,判斷退出
for event in pygame.event.get(): #獲得一個事件的列表
if event.type == pygame.QUIT: #如果事件類型,退出
sys.exit() #安全退出
num=0
for y in imagelist: # 雪花列表循環,從y軸的上限往下限方向飄落
y[1]=y[1]+snowlist[num] #改變Y軸坐標,移動雪花位置
num+=1
screen.blit(snowStart,(y[0],y[1])) # 打印雪花
if y[1]>=500: #當雪花達到下限,落出屏幕之后,重設位置
y[1]=-snowStart.get_height() #重設Y軸的坐標到0以上,從而使得雪花下一次循環有效
pygame.display.update() # 刷新畫面
第三步:寫好我們的代碼之后,我們直接同時按住鍵盤上的Ctrl+shift+F10或者鼠標右鍵,找到“run”,進行程序的運行編譯
第四步:運行之后就可以看到我們的雪花飄落的效果了。
第五步:在這代碼當中,我已經對每一句代碼都進行了注釋,希望能對你們有所幫助,這串代碼總共都不超過50行
第六步:在運行代碼之后,我們要確認我們的雪花圖片所在的路徑位置是否與我們代碼中指定的雪花圖片路徑位置一致,如果不一致記得給出圖片所在的準確位置
第七步:在這個代碼中,主要是通過使用pygame模塊實現的一個效果,希望能對你們有所幫助,有誤之處多多諒解!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

