ptit_stagiaire a écrit :
Bonjour,
je travaille sur un projet de psychologie sur l'attention visuelle, et pour cela j'aurais besoin de faire s'afficher une spirale sur un des côtes de mon ecran.
Je n'ai jamais code auparavant, avec ce que j'ai trouve sur internet j'ai bricole le code ci-dessous. Il est tres lourd, je pense aue je pourrais remplacer les affichages successifs par des boucles au lieu de les ecrire mais je ne sais pas comment m'y prendre.
Le plus gros probleme, c'est que je voudrais que ma spirale tourne autour de son axe, alors que la, elle se decale a chaque rotation, et je ne comprends pas pourquoi.
Pourriez-vous m'aider s'il vous plaît ?
Merci par avance de votre aide et de votre indulgence...
import pygame
from pygame.locals import *
# Definition des dimensions de la fenetre :
W, H = 1280, 700
# Definition de la couleur du fond, proche de celle du fond des photo pour limiter le contraste :
bg_col = [130, 120, 100]
window = pygame.display.set_mode([W,H])
# Definition de plusieurs images de spirales, tournees de 5° :
spirale0 = pygame.image.load('spirale.jpeg')
spirale1 = pygame.transform.rotozoom(spirale0, 5, float(0.3))
spirale2 = pygame.transform.rotozoom(spirale1, 5, float(1))
spirale3 = pygame.transform.rotozoom(spirale2, 5, float(1))
spirale4 = pygame.transform.rotozoom(spirale3, 5, float(1))
spirale5 = pygame.transform.rotozoom(spirale4, 5, float(1))
spirale6 = pygame.transform.rotozoom(spirale5, 5, float(1))
spirale7 = pygame.transform.rotozoom(spirale6, 5, float(1))
spirale8 = pygame.transform.rotozoom(spirale7, 5, float(1))
spirale9 = pygame.transform.rotozoom(spirale8, 5, float(1))
spirale10 = pygame.transform.rotozoom(spirale9, 5, float(1))
spirale11 = pygame.transform.rotozoom(spirale10, 5, float(1))
spirale12 = pygame.transform.rotozoom(spirale11, 5, float(1))
# Affichage
window.fill(bg_col)
window.blit(spirale1, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale2, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale3, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale4, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale5, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale6, [200, 454])
pygame.display.flip()
pygame.time.wait(300)
window.fill(bg_col)
window.blit(spirale7, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale8, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale9, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale10, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale11, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
window.fill(bg_col)
window.blit(spirale12, [200, 454])
pygame.display.flip()
pygame.time.wait(30)
PS : j'utilise une image de spirale au lieu de la dessiner dans python car le but est de travailler sur l'attraction du regard en fonction des differents types de spirales.
|