J'ai commencé à utiliser pygame et je veux faire le jeu simple. L'un des éléments dont j'ai besoin est un compte à rebours.
Comment puis-je faire le compte à rebours du temps (par exemple 10 secondes) PyGame?
Vous télécharger les tiques une fois avant de commencer le compte à rebours (qui peut être un élément déclencheur dans le jeu - la clé de l'événement, peu importe).
Par exemple:
start_ticks=pygame.time.get_ticks()#starter tickwhile mainloop:# mainloop
seconds=(pygame.time.get_ticks()-start_ticks)/1000#calculate how many secondsif seconds>10:# if more than 10 seconds close the gamebreakprint(seconds)#print how many seconds
pygame.temps.De l'horloge.tique retourne le temps en millisecondes écoulées depuis le dernier clock.tick appel (la différence de temps, dt), de sorte que vous pouvez l'utiliser pour augmenter ou diminuer d'une minuterie variable.
import pygame as pg
def main():
pg.init()
screen = pg.display.set_mode((640,480))
font = pg.font.Font(None,40)
gray = pg.Color('gray19')
blue = pg.Color('dodgerblue')# The clock is used to limit the frame rate# and returns the time since last tick.
clock = pg.time.Clock()
timer =10# Decrease this to count down.
dt =0# Delta time (time since last tick).
done =Falsewhilenot done:for event in pg.event.get():if event.type == pg.QUIT:
done =True
timer -= dt
if timer <=0:
timer =10# Reset it to 10 or do something else.
screen.fill(gray)
txt = font.render(str(round(timer,2)),True, blue)
screen.blit(txt,(70,70))
pg.display.flip()
dt = clock.tick(30)/1000# /1000 to convert to seconds.if __name__ =='__main__':
main()
pg.quit()
Il y a beaucoup de façons de le faire, et c'est l'un d'entre eux
import pygame,time, sys
from pygame.locals import*
pygame.init()
screen_size =(400,400)
screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption("timer")
time_left =90#duration of the timer in seconds
crashed =False
font = pygame.font.SysFont("Somic Sans MS",30)
color =(255,255,255)whilenot crashed:for event in pygame.event.get():if event.type == QUIT:
crashed =True
total_mins = time_left//60# minutes left
total_sec = time_left-(60*(total_mins))#seconds left
time_left -=1if time_left >-1:
text = font.render(("Time left: "+str(total_mins)+":"+str(total_sec)),True, color)
screen.blit(text,(200,200))
pygame.display.flip()
screen.fill((20,20,20))
time.sleep(1)#making the time interval of the loop 1secelse:
text = font.render("Time Over!!",True, color)
screen.blit(text,(200,200))
pygame.display.flip()
screen.fill((20,20,20))
pygame.quit()
sys.exit()
Sur cette page, vous trouverez ce que vous cherchez http://www.pygame.org/docs/ref/time.html#pygame.time.get_ticks
Vous télécharger les tiques une fois avant de commencer le compte à rebours (qui peut être un élément déclencheur dans le jeu - la clé de l'événement, peu importe).
Par exemple:
OriginalL'auteur DanteVoronoi
Un autre moyen facile est de simplement utiliser pygame du système d'événements.
Voici un exemple simple:
OriginalL'auteur sloth
pygame.temps.De l'horloge.tique
retourne le temps en millisecondes écoulées depuis le dernierclock.tick
appel (la différence de temps,dt
), de sorte que vous pouvez l'utiliser pour augmenter ou diminuer d'une minuterie variable.OriginalL'auteur skrx
Il ya plusieurs façons dont vous pouvez faire cette - en voici une. Python n'est pas un mécanisme d'interruptions pour autant que je sais.
OriginalL'auteur John
Il y a beaucoup de façons de le faire, et c'est l'un d'entre eux
OriginalL'auteur Anshuman Bharadwaj
C'est en fait assez simple. Merci Pygame pour la création d'une simple bibliothèque de la!
C'est tout là est à lui! Amusez-vous avec pygame!
OriginalL'auteur Douglas - 15 year old Pythoner