nsi:tds:pygame:plateforme:main
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nsi:tds:pygame:plateforme:main [2023/03/18 17:09] – goupillwiki | nsi:tds:pygame:plateforme:main [2023/03/19 11:29] (Version actuelle) – goupillwiki | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| Reprend le principe général de ce que vous pouvez trouver dans [[nsi: | Reprend le principe général de ce que vous pouvez trouver dans [[nsi: | ||
| - | |||
| - | ===== Problème de touches ===== | ||
| - | |||
| - | Nous allons toutefois apporter une modification : Nous voulons pouvoir appuyer simultanément sur plusieurs touches. Par exemple, si je maintiens '' | ||
| - | |||
| - | Quelques précisions sont utiles : | ||
| - | * Pygame détecte les événements '' | ||
| - | * Nous avons utilisé pour les zombies la commande '' | ||
| - | |||
| - | À la place, nous allons utiliser '' | ||
| <code python> | <code python> | ||
| - | keys = pygame.keys.get_pressed() | + | # fichier main.py |
| - | if keys[KEY_UP]: | + | |
| - | # le test vérifie si la touche flèche haut est appuyée | + | |
| - | </ | + | |
| - | Ainsi, rien ne nous empêchera d' | + | import pygame |
| + | from player import Player | ||
| + | from rectangle import Rectangle | ||
| + | from coin import Coin | ||
| - | ===== Problème d' | ||
| - | |||
| - | Le module '' | ||
| - | |||
| - | C'est pour cette raison que, contrairement à l' | ||
| - | |||
| - | ===== Script complet ===== | ||
| - | |||
| - | <code python> | ||
| - | # fichier main.py | ||
| - | import pygame | ||
| pygame.init() | pygame.init() | ||
| pygame.display.set_caption(" | pygame.display.set_caption(" | ||
| Ligne 37: | Ligne 16: | ||
| HAUTEUR = 600 | HAUTEUR = 600 | ||
| screen = pygame.display.set_mode((LARGEUR, | screen = pygame.display.set_mode((LARGEUR, | ||
| - | |||
| - | from player import Player | ||
| - | from rectangle import Rectangle | ||
| - | from coin import Coin | ||
| clock = pygame.time.Clock() # gestion du temps | clock = pygame.time.Clock() # gestion du temps | ||
| all_sprites = pygame.sprite.Group() | all_sprites = pygame.sprite.Group() | ||
| - | platesformes_sprites | + | platesformes |
| (0, HAUTEUR-10, LARGEUR, 50), # base | (0, HAUTEUR-10, LARGEUR, 50), # base | ||
| (100, HAUTEUR-60, 200, 10), | (100, HAUTEUR-60, 200, 10), | ||
| Ligne 51: | Ligne 26: | ||
| (440, HAUTEUR-160, | (440, HAUTEUR-160, | ||
| ], (255,0,0)) | ], (255,0,0)) | ||
| - | coins_sprites | + | |
| + | coins = Coin.make_coins([ | ||
| (300, HAUTEUR-20, " | (300, HAUTEUR-20, " | ||
| (150, HAUTEUR-70, " | (150, HAUTEUR-70, " | ||
| ]) | ]) | ||
| player = Player(50, HAUTEUR - 100, 0, LARGEUR) | player = Player(50, HAUTEUR - 100, 0, LARGEUR) | ||
| - | all_sprites.add(platesformes_sprites, coins_sprites, player) | + | all_sprites.add(platesformes, coins, player) |
| # ordre important pour que player soit devant les récompenses ! | # ordre important pour que player soit devant les récompenses ! | ||
| - | left_pressed = False | ||
| - | right_pressed = False | ||
| - | up_pressed = False | ||
| running = True | running = True | ||
| while running: | while running: | ||
| Ligne 67: | Ligne 40: | ||
| screen.fill((0, | screen.fill((0, | ||
| - | player.update_position(platesformes_sprites) | + | player.update_position(platesformes) |
| all_sprites.draw(screen) | all_sprites.draw(screen) | ||
| Ligne 82: | Ligne 55: | ||
| player.jump() | player.jump() | ||
| - | hitten_coins = pygame.sprite.spritecollide(player, | + | hitten_coins = pygame.sprite.spritecollide(player, |
| pygame.display.flip() | pygame.display.flip() | ||
nsi/tds/pygame/plateforme/main.1679155762.txt.gz · Dernière modification : de goupillwiki
