IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

[Pygame] Bug de collision [Python 3.X]


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 27
    Points : 23
    Points
    23
    Par défaut [Pygame] Bug de collision
    Bonjour, je tente de créer un jeu où vous controlez un vaisseau et il faut tirer sur votre ami.
    Mais la collision entre J2 (le deuxième vaisseau) et TirJ1 (Tir du vaisseau 1) ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    76
    77
    pygame.init()
     
    screen=pygame.display.set_mode((640,480))
     
    clock=pygame.time.Clock()
    done=1
    J1_x=50
    J1_y=50
    J2_x=500
    J2_y=50
    J1_e=1
    J2_e=1
    j=0
    d=0
     
    fond=pygame.image.load("bg.png").convert()
    screen.blit(fond,(0,0))
    J1=pygame.image.load("J1.png").convert_alpha()
    position_J1=(J1_x,J1_y)
    screen.blit(J1,position_J1)
    J2=pygame.image.load("J2.png").convert_alpha()
    position_J2=(J2_x,J2_y)
    screen.blit(J2,position_J2)
     
    while done :
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                continuer = 0
            if event.type==pygame.KEYDOWN and event.key==pygame.K_RETURN :
                j=1
        pressed=pygame.key.get_pressed()
        if pressed[pygame.K_DOWN] :
            if J1_y<420 :
                J1_y+=3
                position_J1=(J1_x,J1_y)
        if pressed[pygame.K_UP] :
            if J1_y>0 :
                J1_y-=3
                position_J1=(J1_x,J1_y)
        if pressed[pygame.K_l] :
            if J2_y<420 :
                J2_y+=3
                position_J2=(J2_x,J2_y)
        if pressed[pygame.K_o] :
            if J2_y>0 :
                J2_y-=3
                position_J2=(J2_x,J2_y)
        screen.blit(fond,(0,0))
        if J1_e :
            screen.blit(J1,position_J1)
        if J2_e :
            screen.blit(J2,position_J2)
     
        if j :
            TirJ1=pygame.image.load("T1.png").convert_alpha()
            TJ1_rect=TirJ1.get_rect()
            TJ1_x=J1_x+50
            TJ1_y=J1_y+25
            position_TJ1=(TJ1_x,TJ1_y)
            screen.blit(TirJ1,position_TJ1)
            d=1
            j=0
     
        if d :
            TJ1_x+=15
            position_TJ1=(TJ1_x,TJ1_y)
            screen.blit(TirJ1,position_TJ1)
            J2_position=J2.get_rect()
            J2_position=pygame.Rect((J2_x,J2_y),(64,62))
            if TJ1_rect.colliderect(J2_position) :
                J2_e=0
            if TJ1_x>640 :
                d=0
     
        clock.tick(60)
     
        pygame.display.flip()
    Merci d'avance

    PS : Pas d'erreur sur la console

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut
    Vérifiés si les valeurs de tes rects correspondent à ce que tu vois à l'écran en les printant.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Merci ! Les Rect n'étaient pas bon.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pygame : problème collisions
    Par mat238 dans le forum Programmation multimédia/Jeux
    Réponses: 4
    Dernier message: 21/05/2012, 01h24
  2. Réponses: 3
    Dernier message: 06/01/2012, 15h26
  3. collision entre groupe de sprites (pygame)
    Par jean-pat dans le forum Programmation multimédia/Jeux
    Réponses: 8
    Dernier message: 17/09/2011, 16h22
  4. [Pygame] detection collision en utilisant surface.get_at
    Par Gavroche7 dans le forum Programmation multimédia/Jeux
    Réponses: 5
    Dernier message: 24/01/2009, 09h18
  5. Réponses: 6
    Dernier message: 06/07/2006, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo