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
| import pygame
from pygame.locals import *
from sys import exit
screen=pygame.display.set_mode((800,600))
ball_1=pygame.image.load('/home/mon_nom/Bureau/ball.png').convert_alpha()
screen.blit(ball_1,(0,0))
mask_1=pygame.mask.from_surface(ball_1,127)
print ball_1.get_size()
print mask_1.get_size()
i=0
seted_bits=[]
while i < 32 :
ii=0
while ii < 32 :
seted_bits.append(mask_1.get_at((i,ii)))
ii += 1
i += 1
print seted_bits.count(1) #vérification des bits du mask.
ball_2=pygame.image.load('/home/mon_nom/Bureau/ball.png').convert_alpha() # image d'une balle
screen.blit(ball_2,(300,0)) # je blit avant de créer le mask espérant que ca correspondent avec le mask de la ligne suivante.
mask_2=pygame.mask.from_surface(ball_2,127)
print ball_2.get_size()
print mask_2.get_size()
x,y=0,0
while True :
screen.fill((0))
screen.blit(ball_1,(x,y)) # j'update le blit espérant updater le mask de la ligne suivante.
mask_1=pygame.mask.from_surface(ball_1,127)
screen.blit(ball_2,(300,0))
mask_2=pygame.mask.from_surface(ball_2,127)
for event in pygame.event.get() :
if event.type == QUIT :
exit()
if event.type == KEYDOWN :
if event.key == K_RIGHT :
x += 8
if mask_2.overlap(mask_1, (300,0)) : # En mettant le offset a (0,0) le programme écrit en boucle 'here we are' donc la position de la balle ne correspont pas a la position du mask ???
print 'here we are'
pygame.display.update() |
Partager