抖动的云朵_帧图生成样本示例

抖动的云朵_帧图生成样本示例

天上的云朵在发抖!这是一个pygame制作的动画。给它配了音乐,气势磅礴!音乐振撼!
下面是部分代码预览:

"""抖动的云朵_帧图生成样本示例,本程序会新建云类,它生成后会不断地抖动。
更重要的是程序会保存游戏的每一帧放在frames文件夹里面。所以可以通过继续编写程序把这些png文件合成gif或视频。
由于要不断地写磁盘,所以程序运行速度变慢了,改进的方法是跳帧,即跳过某些帧,如让index为5的倍数时才写入。
"""

import os
import time
import pygame
from pygame.locals import *
from random import randint

class Cloud(pygame.sprite.Sprite):
    def __init__(self,image,screen):
        super().__init__()               # 调用超类初始化方法
        self.screen = screen             # screen属性,这样能访问screen
        self.sw = screen.get_width()
        self.sh = screen.get_height()
        self.scale = randint(1,10)/10
        self.image = image

        
    def update(self):
        """更新云朵的坐标"""
        if time.time() - self.start_time > self.interval:
            self.dx = randint(-5,5)
            self.dy = randint(-5,5)

def main():

    """主函数"""
    width,height = 960,720
    screen = pygame.display.set_mode((width,height))
    pygame.display.set_caption("抖动的云朵_帧图生成样本示例 www.lixingqiu.com")

    pygame.mixer.init()
    pygame.mixer.music.load("inception.wav")
    pygame.mixer.music.play(-1,0)

    running = True
    
    index = 0
    frame_path = "frames"
    if not os.path.exists(frame_path):os.mkdir(frame_path)

    while running:
        for event in pygame.event.get():
            if event.type == QUIT:running = False
        cloud_group.update()

    pygame.quit()

if __name__ == "__main__":

    main()       

 

下载完整源代码与素材,请

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

李兴球

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

评论已关闭。