Trajectoire avec pygame

lucasbarreau Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   -
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...

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()

1 réponse

Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

Je suis censé faire un jeu de basket ...

C'est le même appel que celui du 13 avril ?

Et du coup, est-ce que ma réponse te convenait ?
0