當前位置: 妍妍網 > 碼農

python下雪效果

2024-02-18碼農

大家好!今天給你們帶來了python pygame下雪效果。

安裝pygame:

pip install pygame

完整程式碼:

importpygameimportrandom# 初始化pygamepygame.init()# 獲取螢幕尺寸screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)pygame.display.set_caption("SnowAnimation")# 設定背景顏色為黑色background_color = (0, 0, 0)# 雪花列表snow_list = []# 初始化雪花:[x座標, y座標, x軸速度, y軸速度]fori in range(200):x = random.randrange(0, screen.get_width())y = random.randrange(0, screen.get_height())sx = random.randint(-1, 1)sy = random.randint(3, 6)snow_list.append([x,y, sx, sy])clock = pygame.time.Clock()# 遊戲主迴圈done = Falsewhilenot done: # 訊息事件迴圈,判斷結束forevent in pygame.event.get():ifevent.type == pygame.QUIT:done = Trueelifevent.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:done = True # 顯示背景顏色screen.fill(background_color) # 雪花列表迴圈fori in range(len(snow_list)): # 繪制雪花,顏色、位置、大小pygame.draw.circle(screen,(255, 255, 255), snow_list[i][:2], snow_list[i][3]-3) # 移動雪花位置(下一次迴圈起效)snow_list[i][0]+= snow_list[i][2]snow_list[i][1]+= snow_list[i][3] # 如果雪花落出螢幕,重設位置ifsnow_list[i][1] > screen.get_height():snow_list[i][1] = random.randrange(-50, -10)snow_list[i][0] = random.randrange(0, screen.get_width()) # 重新整理螢幕pygame.display.flip()clock.tick(20)# 結束 pygame.quit()