Trajectoire avec pygame
lucasbarreau
Messages postés
2
Statut
Membre
-
Phil_1857 Messages postés 1956 Statut Membre -
Phil_1857 Messages postés 1956 Statut Membre -
Bonjour,
Je suis sensé faire un jeu de basket.
J'ai donc créé une fonction du mouvement et l'ai intégrer à mon code en utilisant le module pygame pour le grand nombre de choses qu'il propose.
Cependant, ma trajectoire ne fonctionne pas dans le déplacement du ballon (ici le carré), elle admet une asymptote horizontale comme si le cadre de déplacement était bridé, pourtant, la fonction marche correctement avc tkinter.
Voici mon code, attention les yeux je débute en pygame.
Merci d'avance pour vos réponse...
Je suis sensé faire un jeu de basket.
J'ai donc créé une fonction du mouvement et l'ai intégrer à mon code en utilisant le module pygame pour le grand nombre de choses qu'il propose.
Cependant, ma trajectoire ne fonctionne pas dans le déplacement du ballon (ici le carré), elle admet une asymptote horizontale comme si le cadre de déplacement était bridé, pourtant, la fonction marche correctement avc tkinter.
Voici mon code, attention les yeux je débute en pygame.
Merci d'avance pour vos réponse...
import pygame
import fonctions_v2
import numpy as np
import time
screen = pygame.display.set_mode((1000, 1000))
clock = pygame.time.Clock()
FPS = 60 # Frames per second.
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
rect = pygame.Rect((0,968), (32, 1000))
image = pygame.Surface((32, 32))
image .fill(WHITE)
a=False
xt,yt,compt=[],[],0
position=[0,968]
while True:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
a=True
if a :
while True : #remplissage des coordonnées
xt.append(compt)
yt.append(fonctions_v2.trajectoire(compt,9.81,80,np.pi/3)) #fonction du mouvement (opérationnelle)
compt+=1
if yt[compt-1]<0 :
break
for i in range (compt-1):
position[0]+=xt[i+1]-xt[i]
position[1]+=yt[i]-yt[i+1]
rect.move_ip(xt[i+1]-xt[i], yt[i]-yt[i+1])
screen.fill(BLACK)
screen.blit(image, rect)
pygame.display.update()
time.sleep(0.01)
# if position[0]>=487 and position[0]<=536 and position[1]>=300 and position[1]<=305 : # systeme de hit box
# print("Panier")
# xt,yt,compt=[],[],0
# position=[0,376]
# a=False
# break
if i==compt-2 :
print("Raté")
xt,yt,compt=[],[],0
position=[0,376]
a=False
break
screen.fill(BLACK)
screen.blit(image, rect)
pygame.display.update()