- Python
飞机大战-碰撞检测源代码和爆炸特效
- 2024-9-21 19:12:25 @
from settings import *
class Explosion(pygame.sprite.Sprite):
def __init__(self, images, center):
"""
[6]爆炸特效
:param images: 爆炸特效图片的surface对象的列表
:param center: 图片的中心位置
"""
pygame.sprite.Sprite.__init__(self)
self._layer = 6 # [6]层级
self.images = images # [6]存储爆炸图片的列表
self.center = center # [6]记录爆炸中心
self.image = self.images[0] # [6]取第一个爆炸图片
self.rect = self.image.get_rect() # [6]获取rect对象
self.rect.center = self.center # [6]调整中心点的位置
self.frame = 0 # [6]记录爆炸动画帧
self.last_time = pygame.time.get_ticks() # [6]记录上次动画播放的时间
def update(self):
self.rect.y += 1 # 让爆炸特效动画向下移动, 效果更真实
now = pygame.time.get_ticks() # [6]获取当前时间
if now - self.last_time > 80: # [6]每80毫秒更新一帧动画
self.last_time = now # [6]更新上次记录的时间为当前时间
self.frame += 1 # [6]动画帧数加1
if self.frame < len(self.images): # [6]如果没有播放到最后一帧
self.image = self.images[self.frame] # [6]更新图片
else: # [6]如果播放到最后一帧
self.kill() # [6]移出精灵组,不再显示
0 条评论
目前还没有评论...