1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
import pygame
from pygame.locals import *
pygame.init()
fenetre=pygame.display.set_mode((480,320))
ouvert=0
angle=0
creme=255,242,224
clock=pygame.time.Clock()
def image(chaine):
"""fonctions qui charge les images et rend le fond transparent etc.."""
img=pygame.image.load(chaine)
img=img.convert_alpha(img)
return img
btnC_img=image("./data/images/btnCentre.png")
panneau_img=image("./data/images/btnD.png")
panneau_rect=panneau_img.get_rect()
btnQ_img=image("./data/images/btnQ.png")
btnQ_rect=btnQ_img.get_rect()
panneau_rect.move_ip(320,0)
btnQ_rect.clamp_ip(panneau_rect)
btnQ_rect.move_ip(105,270)
panneau_img.blit(btnQ_img, btnQ_rect)
btnOuvre=pygame.Rect(460,110,20,106)
btnDroite=pygame.Rect(460,0,20,106)
btnGauche=pygame.Rect(460,220,20,106)
def panDAff():
"""fonction qui affiche ou cache le menu"""
global angle, ouvert
if ouvert == 0:
ouvert = 1
position = panneau_img.get_rect(topleft = (480,0))
rect_origine = panneau_img.get_rect(topleft = (320,0))
panneau_img.blit(btnC_img,(105,10))
panneau_img.blit(btnC_img,(45,45))
panneau_img.blit(btnC_img,(10,105))
panneau_img.blit(btnC_img,(10,175))
panneau_img.blit(btnC_img,(45,235))
panneau_img.blit(btnQ_img,(105,270))
for x in range(53): #animer images
fenetre.fill((creme))#effacer
position = position.move(-3, 0) #déplacer
fenetre.blit(panneau_img, position) #dessiner à nouveau
pygame.display.flip() #afficher le tout
pygame.time.delay(3)#arrêter le programme
elif ouvert == 1:
position = panneau_img.get_rect(topleft = (320,0))
for x in range(70): #animer images
fenetre.fill((creme))#effacer
position = position.move(3, 0) #déplacer
fenetre.blit(panneau_img, position) #dessiner à nouveau
pygame.display.flip() #afficher le tout
pygame.time.delay(5) #arrêter le programme
ouvert=0
angle=0
def navTourneG():
"""fonction qui tourne le menu """
global angle
if ouvert == 1:
rect_origine = panneau_img.get_rect(topleft = (320,0))
for chaque in range(45): #animer images
fenetre.fill((creme))#effacer
fond = pygame.transform.rotate(panneau_img,angle)
rect = fond.get_rect()
rect.center = rect_origine.center
fenetre.blit(fond,(rect))
if angle > 360:
angle=0
else:
angle=angle+1
pygame.display.flip()
pygame.time.delay(5)
def navTourneD():
"""fonction qui fait tourner le menu"""
global angle
if ouvert == 1:
rect_origine = panneau_img.get_rect(topleft = (320,0))
for chaque in range(45): #animer images
fenetre.fill((creme))#effacer
fond = pygame.transform.rotate(panneau_img,angle)
rect = fond.get_rect()
rect.center = rect_origine.center
fenetre.blit(fond,(rect))
if angle > 360:
angle=0
else:
angle=angle-1
pygame.display.flip()
pygame.time.delay(5)
continuer = 1
while continuer:
for event in pygame.event.get():
if event.type==QUIT:
continuer=0
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
continuer=0
pygame.quit()
if event.type == MOUSEBUTTONDOWN and event.button == 1 :
if btnOuvre.collidepoint(event.pos):
panDAff()
if btnGauche.collidepoint(event.pos):
navTourneG()
if btnDroite.collidepoint(event.pos):
navTourneD()
if btnQ_rect.collidepoint(event.pos):
print("Quitter") |
Partager