Pygame, как показать персонажа на экране в течение 3 секунд, а затем уйти - PullRequest
0 голосов
/ 25 июня 2018

Я использую Pygame и хочу, чтобы игрок появлялся в течение 3 секунд, и если его застрелили, он уходит, но если он остается более трех секунд, полоса здоровья уменьшается.

1 Ответ

0 голосов
/ 26 июня 2018

Поскольку вы уже используете pygame, вы можете подойти к этому следующим образом:

import pygame

class Player
    def __init__(self, ...):
        self.creation_time = pygame.time.get_ticks()
        ...

и тогда вы можете просто проверить, прошло ли определенное количество времени

player = Player()

while True:
    if pygame.time.get_ticks() >= player.creation_time + 3000:
        if not player.hit: 
            player.health = max(player.health-1, 0) # decrease health until 0
        if player.hit or player.health is 0:
            player.die()
    ...

pygame.time.get_ticks() возвращает миллисекунды с момента вызова pygame.init(), поэтому его необходимо преобразовать в секунды при использовании, и pygame.init() должен быть вызван.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...