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