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
|
from tkinter import *
from random import *
fenetre = Tk()
fenetre.title('Flappy Bird')
#Creation du canvas:
canvas=Canvas(fenetre,width = 1400, height = 600 , bd=0, bg='skyblue')
canvas.pack(padx=10,pady=10)
#deplacement des nuages avec randomisation de vitesse
def deplacement():
canvas.move(Nuage_1,-(randint(3,20)),0)
canvas.move(Nuage_2,-(randint(5,10)),0)
canvas.move(Nuage_3,-(randint(4,30)),0)
#On repete cette fonction
fenetre.after(50,deplacement)
#chemin d'acces a l'image:
imgfile1 = 'nuage1.gif'
imgfile2 = 'nuage2.gif'
imgfile3 = 'nuage3.gif'
# Utilisation d'un dictionnaire pour conserver une référence:
gifsdict={}
#Creation des images:
img1 = PhotoImage(file = imgfile1)
gifsdict[imgfile1] = img1
img2 = PhotoImage(file = imgfile2)
gifsdict[imgfile2] = img2
img3 = PhotoImage(file = imgfile3)
gifsdict[imgfile3] = img3
#creation de l'avion
fichierImage=PhotoImage(file='avion29.gif')
#fonctions de déplacement de l'avion
def haut(event):
canvas.move(image,0,-10)
def bas(event):
canvas.move(image,0,10)
#reduction de l'image initiale par 2:
img_2 = fichierImage.subsample(2, 2)
image=canvas.create_image(20,0,anchor=NW,image=img_2)
canvas.focus_set()
canvas.bind('<Up>',haut)
canvas.bind('<Down>',bas)
#On cree les Widget images dans le canvas:
#NW=Nord West, le coin haut gauche de l'image sera positionne a (1400,random):
Nuage_1=canvas.create_image(1400,(randint(0,600)),anchor=NE,image=img1)
Nuage_2=canvas.create_image(1400,(randint(0,600)),anchor=NE,image=img2)
Nuage_3=canvas.create_image(1400,(randint(0,600)),anchor=NE,image=img3)
#tentative de fonction recursive pour afficher les nuages en continu avec une temporisation de 3 secondes ( d'ou les 3000 ms ).
#pour info la fonction animation suivante ne fait strictement rien à l'écran....
def animation():
deplacement()
#On repete cette fonction
canvas.after(3000, animation)
deplacement()
animation()
fenetre.mainloop() |
Partager