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()
添加回答
舉報