圣诞节就要来了,你给你的另一半准备礼物了吗?看看我这个礼物如何。

前言

“圣诞季如期而至,圣诞快乐· 倒计时开启啦,一起期待它的到来吧~”

                                                          ——Python是世界上最好的语言

圣诞节马上就来了,冬日里多一抹温暖总是好的。

那这样一个节日的Python可以怎么去书写呢???

小编依旧整理了系列精选圣诞节文案+Python小案例

分享给大家

希望能给你带来寒冷冬季的一丝温暖??

正文

一、环境安装

本文需要的环境如下?

Python、Pycharm 安装包:我用的是3.7的Python跟2019年的社区版Pycharm,这个可以看大家的

基本上都是可以用的,代码兼容都可以运行的。

Pygame游戏模块、tkinter界面化模块、turtle绘图模块以及部分自带的模块就不说了。

环境安装不会的可以找我拿安装包跟安装的视频、相应的Pycharm专业版的永久激活码这边也是有

的但是有版本限制有的不能激活的哈。

第三方库的安装通常是:

pip install  +模块名

或者是感觉安装速度太慢可以添加镜像源文件的,这边我通常用的是豆瓣的镜像源:

pip install -i https://pypi.douban.com/simple/ +模块名

二、圣诞有你  不必有礼

实现本文效果的整体思路是:选择背景图片和音乐—设置动态效果—播放音乐。

(下雪了+圣诞的背景就很完美了)

代码演示:

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("圣诞节快乐")
ori_bg = Image.open(bgpath)
new_bg = ori_bg.resize((790, 430))
new_bg.save(Folderpath + '/new_bg.gif')
bg = pygame.image.load(Folderpath + '/new_bg.gif')
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周下降量
    snow_list.append([x_site, y_site, X_shift, radius])  
clock = pygame.time.Clock()                 #创建设置帧率对象
track = pygame.mixer.music.load(mucpath)  # 加载音乐文件
pygame.mixer.music.play()                            # 开始播放音乐流
pygame.mixer.music.fadeout(600000)           #设置音乐多久慢慢淡出结束
play_image = pygame.image.load(bgpath).convert_alpha()   # 创建播放图片surface对象
pause_image = pygame.image.load(bgpath).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        # 定义播放标志位     
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))                #图片背景
  j = 0
  for i in range(len(snow_list)):
    j += 1
    if j<10:
      pygame.draw.circle(screen1, (255, 255, 255), snow_list[i][:2], snow_list[i][3]-3)
    elif j<20:
      pygame.draw.circle(screen1, (random.randint(200, 255), random.randint(200, 255), random.randint(200, 255)), snow_list[i][:2], snow_list[i][3]-3)
    elif j<30:
      pygame.draw.circle(screen1, (random.randint(100, 200), random.randint(100, 200), random.randint(100, 200)), snow_list[i][:2], snow_list[i][3]-3)
    elif j<40:
      pygame.draw.circle(screen1, (random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)), snow_list[i][:2], snow_list[i][3]-3)
    else:
      pygame.draw.circle(screen1, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 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()              #退出

三、效果展示  

背景的图片都是可以自己修改的哈:   完整项目源码点这里

 总结

圣诞节即将来临,欢快的乐曲燃起圣诞的激情,璀璨的灯火迎来圣诞的欢快,周围,充满了圣诞浪

漫的气氛。还有最后10来天时间,一起迎接?圣诞吧~

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>