孙悟空的72变Pygame版和turtle版

孙悟空的72变Pygame版和turtle版


大家都知道西游记中的孙悟空。它有72变,能变成各种形状。下面是用python的海龟画图模块制作的一个小动画。它会让孙悟空不断地变换造型。其本质是不断通过设定海龟的造型图片实现的。在程序中用到了glob模块的glob命令,它能获取指定目录下所有的文件,并且支持通配符,返回一个文件列表。在下面的程序中还配了背景音乐,恰好是西游记片头曲。我们用的是winsound模块里的PlaySound进行播放。在这里使用了异步播放和循环播放两个组合的参数。其中的SND_ASYNC是表示异步播放的意思。意思是这个播放命令运行后,马上能运行下面的代码,而不必等待音乐播放完毕。SND_LOOP是让音乐不断重复播放的参数。以下是代码:

"""
    孙悟空的72变turtle版。
    本程会每隔3秒显示一张图片。
    其实本质上是不断地变换海龟的造型图片。
"""
import glob
import turtle
from winsound import * 
from time import sleep

bg = "花果山.png"                      # 背景图
images = glob.glob("images/*.gif")     # 所有的图像

# 新建一个窗口,尺寸为480x360
screen = turtle.Screen()
screen.setup(480,360)
screen.bgpic(bg)

# 异步无限播放背景音乐
PlaySound("西游记片头.wav",SND_ASYNC|SND_LOOP)
        

下面是用pygame模块制作的版本

"""
    孙悟空的72变Pygame版。
    本程序做为Pygame的引入程序。
    它会每隔3秒显示一张图片。
"""
import glob
import pygame
from winsound import * 
from time import sleep

bg = pygame.image.load("花果山.png")   # 加载背景图

........................................
while True:
   for image in images:              # 迭代每张图片
      event = pygame.event.poll()    # 获取一个事件
      screen.blit(bg,(0,0))          # 把背景贴在屏幕上
        

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。