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

Posted 顾木子吖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()              #退出 

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

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

效果图:

总结

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

免费源码领取处:

如需完整的项目源码+素材源码基地见:#私信小编06#或者点击蓝色文字添加即可获取免费的福利!

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

往期姐妹篇推荐:

Python表白代码:太秀了,用过的人都找到了对象...【满屏玫瑰盛开!】

​​

以上是关于Python小程序:你看?这千年难遇的雪景—简直“美到犯规”!满屏雪花飞舞!的主要内容,如果未能解决你的问题,请参考以下文章

20200202,千年难遇啊!

洪水(flood)

三千年读史,没有新鲜事

用 Python 带你看《我不是药神》

震惊: 2016民宅惊现千年小妖

为啥 Python 现在越来越火了