1 回答
TA贡献1853条经验 获得超18个赞
用于pygame.time.get_ticks()获取当前时间(以毫秒为单位)。计算炸弹必须消失的时间。将时间存储到列表中bombs。该列表bombs必须包含位置和时间的元组。
如果时间已到,则从列表中删除炸弹:
def redrawGameWindow():
current_time = pygame.time.get_ticks()
# [...]
for i in reversed(range(len(bombs))):
pos, end_time = bombs[i]
if current_time > end_time
bombs.pop(i)
else:
screen.blit(bomb_pic, pos)
def main():
# [...]
while run:
current_time = pygame.time.get_ticks()
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
# [...]
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE and bag["bomb"] >= 1:
pos = x + char.get_width()/2, y + char.get_height() - 20
end_time = current_time + 3000 # 3000 milliseconds = 3 seconds
bombs.append((pos, end_time))
bag["bomb"] -= 1
redrawGameWindow()
添加回答
举报
