酷酷的爆炸效果类_Pygame版

酷酷的爆炸效果类_Pygame版
用pygame实现的爆炸效果,游戏中经常要用到的。下面是部分代码预览:

"""
   酷酷的爆炸效果类
"""
import time
import pygame
from random import randint
from pygame.locals import *

class Explosion(pygame.sprite.Sprite):
    """
       爆炸效果类,继承自Sprite
    """
    def __init__(self,pos,frames,interval,group):
        """
           frames:帧图,interval:帧播放间隔时间
        """
        pygame.sprite.Sprite.__init__(self)
        self.frames = frames

    def set_costume(self):
        """设置造型"""
        self.image = self.frames[self._index]
        self.rect = self.rects[self._index]

    def update(self):
        """
           如果超时了,就切换到下一个造型
        """


def main():
    """
       主调用函数,本函数新建screen,
       每隔一定时间产生一个爆炸效果
    """
    
    width,height = size = 960,720
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption("酷酷的爆炸效果类Pygame版 by lixingqiu")

    images = [f"frames/{i}.gif" for i in range(6)]
    images = [pygame.image.load(im) for im in images]

    pygame.time.set_timer(USEREVENT,randint(10,100))
    clock = pygame.time.Clock()

    group = pygame.sprite.Group()    # 爆炸组
    running = True
    while running:
        e = pygame.event.poll()
        if e.type == QUIT:running = False

        group.update()
        screen.fill((60,0,160))
        group.draw(screen)
        pygame.display.update()
        clock.tick(60)
        
    pygame.quit()
    
if __name__ == "__main__":

    main()        

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

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

关于李兴球

李兴球的博客是Python创意编程原创博客
此条目发表在pygame, python分类目录。将固定链接加入收藏夹。