Bonjour à tous,
Je construit actuellement un jeu en VB6 et directX8,je sais c'est vieux mais cela permet de faire encore bien des choses.Je me suis creusé la tète pour savoir comment retrouver un objet a l'écran à l'aide de la souris et surtout quand il y y a 8 ou 10 objets présent en mème temps sur l'écran et qui bougent dans tous les sens.
Solution:J'ai fait un petit soft annexe qui change le poids faible des deux composantes (Verte et Bleue)de tous les pixels du dessin (sauf le fond), au point de vue rendu des couleurs cela ne se voit pas , mais par contre quand on fait un Getpixel chaque dessin a des valeurs différentes sur ces deux composantes et cela permet d'etre à coup sur sur le bon objet et de l'identifier.
Ex: Dessin 1 composante verte $F0 et bleu $01
Dessin 2 composante verte $F1 et bleu $02.
Le fond du dessin ne doit pas etre touché car il est utilisé sous DX pour la couleur de transparence.
Dans la boucle DX il n'est plus necessaire de tester les coordonnées pour afficher ou effacer un dessin à l'écran ,chose toujours très complexe sachant que tout change sans arret.
Dès que l'on teste la couleur d'un pixel d'un objet , on compare cette valeur avec une table , puis on valide ou on dévalide l'affichage du backbuffer pour cet objet.
Si certains sont interressé , je pourrais transmettre le code de mon jeu et du programme annexe mais celui ci étant assez gros , il faudra passer par des adresses mail perso.
Cordiales salutations à tous.