Python小程序:你看?这千年难遇的雪景——简直“美到犯规”【满屏雪花飞舞】

  导语

图片

作为南方人!​

每每下雪大家都会激动不已,尽管打工人上班的步伐不能停歇,尽管全身冷得嘚嘚嘚嘚

尽管大棉袄裹了又裹,但依旧挡不住大家掏出手机“咔”几张,参与朋友圈“初雪大赛”!

å¾ç

唯美纷飞的落雪场景成为那天那个地方下雪了的热门话题

小编赶紧整理了一波!让大家一饱眼福!!

很多人说?现在不是秋天嘛?这么热的天,哪儿来的雪化?不要急,不要急!说到做到!不用冬天也能看雪啦~

最近国庆结束——刚好开始降温啦~真正的到秋天了,冬天还会远嘛?

小编可以为你下一场雪,抓住机会吧——这款雪景不仅每个人都能拿来玩,用适合表白哦!跟我来看看吧~

图片

正文

一波“美到犯规”的,今日雪景放送来啦!每张都能做壁纸拿走不谢!​

你瞧,昨夜雪落古城之时,在钟楼四周灯火的映衬下格外好看呢!


 ​开始敲代码:

(1)素材。

(2)设置屏幕名称大小等。

os.chdir(r'C:')
pygame.init()          #初始化pygame
SIZE = (790, 430)      #设置屏幕宽长,根据背景图片调整(或者调整图片)
bg_size = width, height = 300, 200         #设置开始和关闭界面窗口
bg_rgb = (255, 255, 255)
screen = pygame.display.set_mode(bg_size)
screen = pygame.display.set_mode(SIZE)
screen1 = pygame.display.set_mode(SIZE)
pygame.display.set_caption("漫天雪花——小程序")

(3)设置界面背景图。

bg = pygame.image.load('11.jpg')#可随意修改自己喜欢的背景

(4)雪花飘落的位置设定。

snow_list = []         #雪花列表
for i in range(300):
    x_site = random.randrange(0, SIZE[0])   #雪花圆心位置
    y_site = random.randrange(0, SIZE[1])   #雪花圆心位置
    X_shift = random.randint(-1, 1)            #x轴偏移量
    radius = random.randint(4, 6)           #半径和y周下降量

(5)背景音乐的设定。

track = pygame.mixer.music.load('bgm.mp3')  # 加载音乐文件,可按照自己喜欢的修改
pygame.mixer.music.play()                            # 开始播放音乐流
pygame.mixer.music.fadeout(600000)           #设置音乐多久慢慢淡出结束
play_image = pygame.image.load("11.jpg").convert_alpha()   # 创建播放图片surface对象
pause_image = pygame.image.load("11.jpg").convert_alpha()  # 创建暂停图片surface对象
pause_rect = pause_image.get_rect()         #获取播放矩形框
print(pause_rect.width,pause_rect.height)   #获取暂停矩形框
pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2
pause = False        # 定义播放标志位     

​(6)附部分代码。

while True:
    # 查找队列事件
	for event in pygame.event.get():
		# 查找点击关闭窗口事件
		if event.type == pygame.QUIT:
			sys.exit()
 
		# 查找鼠标左右击事件
		if event.type == MOUSEBUTTONDOWN:
			# 检测鼠标左击是否按下
			if event.button == 1:
				pause = not pause
 
			# 检测鼠标右击是否按下
			if event.button == 3:
				pause = not pause
 
		# 检测键是否按下
		if event.type == KEYDOWN:
			# 检测是否为空格键按下
			if event.key == K_SPACE:
				pause = not pause
 
	# 填充界面背景
	screen.fill(bg_rgb)
 
	# 空格控制播放和暂停,并显示相应的图片
	if pause:
		pygame.mixer.music.pause()
		screen.blit(pause_image, pause_rect)
	else:
		pygame.mixer.music.unpause()
		screen.blit(play_image, pause_rect)
    
	screen1.blit(bg, (0, 0))                #图片背景
	for i in range(len(snow_list)):
		pygame.draw.circle(screen1, (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]
		if snow_list[i][1] > SIZE[1]:        #判断雪花位置是否超出屏幕,是的话重设位置
			snow_list[i][0] = random.randrange(0, SIZE[0])
			snow_list[i][1] = random.randrange(0, SIZE[1])

	pygame.display.flip()  #刷新屏幕
	clock.tick(20)   
pygame.quit()              #退出 

效果如下——都是动态的画面滴

其实都是动态的下雪,但是我还不会录制所以只能截图是静止的。

效果图:

总结

这效果一出场效果真的是满分!谁用谁好看——嘿嘿嘿 ,绝美的画面,拿代码自己试试吧?

你们的支持是我最大的动力!!记得三连哦~mua 欢迎大家阅读往期的文章哦~

图片

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾木子吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值