Un corrigé de notre illusion de la semaine dernière pour commencer (« voir plus » en fin d’article)
Mario !
On réalise ensemble ce code :
import pygame from pygame.locals import * pygame.init() fenetre=pygame.display.set_mode((800,600)) pygame.display.set_caption("Amusons-nous avec Mario!") pygame.key.set_repeat(50,10) persoG=pygame.image.load("mario_left.png").convert_alpha() persorect=persoG.get_rect() fond=pygame.image.load("sand.jpg").convert() obstacle=pygame.Rect(400,100,50,400) continuer=True try: persorect.left=200 persorect.top=200 while continuer : fenetre.blit(fond,(0,0)) if persorect.colliderect(obstacle): pygame.draw.rect(fenetre,(255,0,255),obstacle,0) else: pygame.draw.rect(fenetre,(255,255,0),obstacle,0) fenetre.blit(persoG,persorect) pygame.display.flip() #gestion des événements for event in pygame.event.get(): if event.type==QUIT: continuer=0 elif event.type==KEYDOWN: #appui sur une touche if event.key==K_ESCAPE: print("touche Escape") continuer=0 elif event.key==K_LEFT: print("touche Gauche") persorect.left-=5 if persorect.left<-100:persorect.left=800 if persorect.colliderect(obstacle): persorect.left=obstacle.right elif event.key==K_p: print("capture d'écran") pygame.image.save(fenetre,"mario.png") else : print("autre touche") finally: pygame.quit()
avec ces images
Et on s’amuse à agrémenter !
Un corrigé de notre illusion de la semaine dernière:
import pygame from pygame.locals import * pygame.init() fenetre=pygame.display.set_mode((410,410)) pygame.display.set_caption("Test Illusion Rectangles et Disques") # là il faut charger notre image dans une surface appelée calque calque=pygame.image.load("cm-2018-09-28-calque.png").convert_alpha() continuer=True mettreCalque=0 while continuer : #remplir le fond fenetre.fill((149,184,82)) #carrés bleus l=50 for i in range(7): for j in range(7): x=i*60 y=j*60 pygame.draw.rect(fenetre,(0,0,255),(x,y,l,l),0) #disques blancs r=7 for i in range(6): for j in range(6): x=i*60+55 y=j*60+55 pygame.draw.circle(fenetre,(255,255,255),(x,y),r,0) if mettreCalque == 1: fenetre.blit(calque,(xmouse-410,ymouse-410)) # ici il faut changer pour afficher le calque # puisque la variable mettreCalque vaut alors 1 pygame.display.flip() #gestion des événements for event in pygame.event.get(): if event.type==QUIT: continuer=0 elif event.type==KEYDOWN: #appui sur une touche if event.key==K_ESCAPE: print("touche Escape") continuer=0 elif event.key==K_SPACE: print("touche Espace") # ici il faut changer pour que le calque s'affiche mettreCalque=1-mettreCalque elif event.key==K_p: print("capture d'écran") pygame.image.save(fenetre,"cm 2018-10-05 Capture.png") else : print("autre touche") elif event.type==MOUSEMOTION: xmouse,ymouse=event.pos print("La souris bouge en",xmouse,ymouse) pygame.quit()
Bonjour monsieur,
avec ce code il ne se passe rien car « ModuleNotFoundError: No module named ‘pygame’ »
Pourquoi ??? Est ce le fait que je suis sur idle 32-bit ? (je ne trouve pas le 64-bit chez moi)
Merci d’avance pour votre réponse
Bonsoir,
Pour cette question, peu importe que ce soir 32 ou 64 bits : il faut installer python mais aussi pygame !
Voir cette conversation avec Cyril.
Bonne soirée !