Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- # Vitesse de départ
- speed = [0,5]
- dt=50
- g=80
- clics=0
- # Malheureusement, on a besoin de l'objet PhotoImage ( pour les dimensions )
- # et de l'objet dans le Canvas ( pour le déplacement )
- def img_is_bouncing(image, obj, speed):
- # Demi-Dimensions de l'objet PhotoImage
- halfwidth = image.width() / 2
- halfheight = image.height() / 2
- # Coordonnées du centre de l'image
- centre = Dessin.coords(obj)
- # Coordonnées des deux bords supérieur gauche et inférieur droit
- coordonnees = (centre[0]-halfwidth, centre[1]-halfheight, centre[0]+halfwidth, centre[1]+halfheight)
- ##
- if ( 0 >= coordonnees[0] ) or ( 500 - speed[0] <= coordonnees[2] ):
- newspeed = [-speed[0]*0.9, speed[1]*0.5]
- elif 0 >= coordonnees[1] or ( 500 - speed[1] <= coordonnees[3] ):
- newspeed = [speed[0]*0.9, -speed[1]*0.5]
- else:
- newspeed = [-speed[0], speed[1]+int(g*dt/1000)]
- #newspeed = speed
- return newspeed
- def compteur_clics(event):
- global speed
- speed[1] -= 30
- def collision(obj1,obj2,taille):
- coordonnees1= Dessin.coords(balle)
- coordonnees2= Dessin.coords(obstacle)
- if coordonnees1[0]>=coordonnees2[0] and coordonnees1[1]>=coordonnees2[1] :
- print ("game over")
- def bouge():
- global speed
- speed = img_is_bouncing(img, balle, speed)
- Dessin.move(balle, speed[0], speed[1])
- Dessin.move(obstacle, -15,0)
- centre1 = Dessin.coords(obstacle)
- if centre1[0]<0:
- Dessin.move(obstacle,800,0)
- if collision (balle, obstacle,100):
- print("game over")
- Dessin.after(dt, bouge) ## Fonction bouge appelée toutes les 50 ms
- #def change_bg(event):
- # Dessin.config(bg="red")
- def tkquit():
- mafenetre.destroy()
- mafenetre = Tk()
- mafenetre.title("Un premier canvas")
- mafenetre.geometry("600x600")
- mafenetre.grid_columnconfigure(0, weight=1)
- Dessin = Canvas(mafenetre, width=500, height=500, bg="orange")
- Dessin.grid(row=0, column=0, pady=20)
- img=PhotoImage
- img = PhotoImage(file="ball.gif")
- balle = Dessin.create_image(100,100, image=img)
- img2=PhotoImage
- img2 = PhotoImage(file="ball2.gif")
- obstacle = Dessin.create_image(300,350, image=img2)
- montexte = Dessin.create_text(200,50, text="", fill="red", font=("Comic Sans MS", 14, "bold"))
- mafenetre.bind("<1>", compteur_clics)
- quitter = Button(mafenetre, text="Quitter", command=tkquit)
- quitter.grid(row=1, column=0)
- bouge()
- #mafenetre.bind('<space>', change_bg)
- mafenetre.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement