from tkinter import *
def fen():
global photo,ship,dx
# Le vaisseaux
photo = PhotoImage(file="ship3.gif")
ship=can.create_image(dx,530,image=photo)
# Permet qu'il ne sorte pas du cadre de jeux
if dx < 35:
dx = 35
if dx > 970:
dx = 970
# Actualise la fenêtre toute les 30 ms
if flag >0 :
fen1.after(30,fen)
def droite(event): # Déplacement à droite
global dx
dx = dx + 15
def gauche(event): # Déplacement à gauche
global dx
dx = dx - 15
def tir2 (event):
global balle,shoot,ytir
# Coordonnées des projectiles
xtir = dx-5
ytir = 450
xtir2 = dx+5
ytir2 = 460
# Création du tir
shoot= can.create_oval(xtir,ytir,xtir2,ytir2,fill='red')
depla()
def depla():# Met le tir en mouvement
can.move(shoot,0,-5)
# Actualise la fenêtre toute les 100 ms
if flag >0 :
fen1.after(100,depla)
# Programme principal
fen1 = Tk()
fen1.title("Space Invades")
fen1.geometry("1000x600")
# Création du canvas
can = Canvas(fen1, width=1100, height=1100,bg='black')
can.place(x=-5, y=0)
# Déplacement latéral du vaisseaux
dx= 500
flag = 1
can.bind_all("<Left>",gauche)
can.bind_all("<Right>",droite)
can.bind_all("<space>",tir2)
fen()
fen1.mainloop()
Je sais d'avance que mon code est loin d'être parfait, l'objectif est de créer un SpaceInvaders, pour s’entraîner pour mon DUT en septembre bref, ici le problème est avec la fonction depla et tir2
Le projectile est bien tiré, mais quand on retire le premier s'arrête en chemin et plus on tire de projectiles plus la vitesse de celui-ci augmente ce qui ne devrait pas arriver.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.