


Au-delà de time.wait() de Pygame : comment obtenir des délais dans vos jeux ?
Nov 22, 2024 am 08:36 AMComment obtenir des délais dans Pygame au-delà de time.wait()
Lorsque vous cherchez à introduire des délais dans Pygame, time.wait( ) a toujours été un choix privilégié pour les développeurs. Cependant, cette approche peut laisser curieux quant aux alternatives potentielles et à leurs mérites respectifs.
Pygame fournit sa propre fonction time.wait(), qui diffère de la fonction wait() standard de Python des manières suivantes :
- Exécution : Le wait() de Python suspend l'ensemble du programme, tandis que le wait() de Pygame ne suspend l'exécution que dans le cadre de l'événement Pygame. boucle, permettant à d'autres codes de s'exécuter simultanément.
- Utilisation : Wait() de Python nécessite une valeur de temps en secondes, tandis que wait() de Pygame accepte les millisecondes.
Approches alternatives de délai
En plus de la fonction wait() de Pygame, une autre approche efficace pour les délais consiste à utiliser la fonction pygame.time.get_ticks() :
- Mécanisme : pygame.time.get_ticks() renvoie l'heure actuelle en millisecondes depuis Pygame initialisation. En suivant le temps écoulé et en le comparant à un seuil prédéfini, les développeurs peuvent implémenter leur propre logique de retard.
L'extrait de code ci-dessous illustre l'utilisation de get_ticks() pour la gestion du temps de recharge des armes, garantissant un écart entre tirs consécutifs :
class Unit(): def __init__(self): self.last = pygame.time.get_ticks() self.cooldown = 300 def fire(self): # fire gun, only if cooldown has been 0.3 seconds since last now = pygame.time.get_ticks() if now - self.last >= self.cooldown: self.last = now spawn_bullet()
Cette technique est avantageuse pour mettre en œuvre des événements basés sur le temps qui fonctionnent parallèlement à d'autres fonctionnalités du jeu tout en gardant le contrôle sur le délai durée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Sérialisation et désérialisation des objets Python: partie 1

Comment implémenter votre propre structure de données dans Python
