Bonjour Je travaille actuellement sur un jeu de plateforme 2D. Je voudrais avoir des collisions par pixel entre mon joueur (un rectangle) et un terrain libre (utilise des pentes, un BufferedImage).collision par pixel en utilisant getRGB d'un BufferedImage (Java2D Api)
Je suis un peu confus sur le concept de vérifier si une partie de mon rectangle entre en collision avec le terrain.
Actuellement, j'essaie de voir si une partie de mon terrain contient un pixel non transparent. Je compare cela à chaque coordonnée dans mon rectangle et voir si elles se rencontrent, mais je n'ai pas de chance.
Voici mon code:
public boolean rgbCollide() {
int a = terrain.getRGB(x, y);
System.out.println(a);
// Per-pixel Bitwise collision check
for (int i =0; i < width; i++) {
for (int j =0; j < height; j++) {
//Hmm what to do here...?
}
}
return false;
}
où: terrain est mon BufferedImage x, y, la largeur et la hauteur sont coordonnées de mon lecteur Rectangle