Je travaille actuellement sur un jeu sur Pygame, Python 3 et l'une des parties essentielles du jeu est la collision de Rects dans une situation de cible de balle.Colorkey collision entre Rects dans Pygame, Python 3
Ceci est assez facile à réaliser en utilisant la fonction colliderect
mais il est nécessaire que les pixels de la même couleur que la couleur ne soient pas comptés. Par exemple, si l'un des sprites (le personnage) a la forme d'un grand triangle équilatéral avec sa base horizontale et une balle venant du coin supérieur gauche, colliderect
détecterait immédiatement la collision, même si les pixels en haut à gauche sont de l'image-objet du joueur sont transparents.
Je dois créer une fonction qui détectera une collision uniquement lorsque la balle a atteint des pixels d'une couleur différente de la couleur. Ceci est assez facile si la balle est qu'un seul pixel:
if player.get_at((bullet[0] - player.left, bullet[1] - player.top)) != player.get_colorkey():
J'ai essayé itérer la déclaration ci-dessus pour chaque pixel de la balle, mais, bien sûr, qui a provoqué le décalage étendu. Y a-t-il un moyen différent, plus efficace?
Merci d'avance !!