Précédent   Forum des professionnels en informatique > Applications > Développement 2D, 3D et Jeux > API graphiques > DirectX
DirectX Forum d'entraide sur le développement avec DirectX. Avant de poster -> FAQ DirectX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2011, 01h18   #1
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 62
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 62
Points : 27
Points : 27
Par défaut D3D9 - GetPixelColor

Bonsoir,
Les inputs clavier j'ai compris alors pourquoi ne pas utiliser la souris ?

La zone cliquable carrée j'ai réussi à faire mais pour une forme complexe il vaudrait mieux que j'utilise une image( non affichée) de la taille de ma fenêtre ; a chaque clic je procède a la détection de la couleur du pixel sélectionné.
Par exemple si le pixel est noir on ne fait rien si il est blanc alors il se passe quelque chose ( c'est du détail ).

Par l'utilisation de GetCursorPos() et GetPixel() je peux obtenir la couleur d'un pixel affiché à l'écran. Le problème étant : l'image qui me sert à détecter le clic ne doit pas être affichée ( pas belle ) alors que la belle image calquée exactement sur la moche est affichée.

Ma question étant : quelle fonction puis-je utiliser pour ce faire ?
Pour afficher des images j'utilise les sprites de D3D et apparemment il n'existe aucune méthode intéressante.

Merci d'avance
Kiwii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 04h26   #2
Expert Confirmé Sénior
 
Développeur informatique
Inscription : novembre 2006
Messages : 4 215
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2006
Messages : 4 215
Points : 5 291
Points : 5 291
Salut on n'y comprend pas grand chose à ce que tu as écrit..
est-ce que tu utilises des D3DXSPRITE seulement ?
Si tu utilises des meshes 3D attention il faut transformer les coordonnées souris en coordonnées 3D
Sinon en 2D pourquoi tu peux utiliser GetCursorPos sinon gérer le message WM_LBUTTONDOWN et décoder wParam ou LParam de ce message.
Pourquoi utiliser GetPixel ?
GetPixel c'est pour le GDI or le GDI avec D3D9 n'existe pas.
Enfin presque.
Si tu veux obtenir la couleur d'un pixel c'est un peu compliqué il faut créer une D3D9Surface et là tu peux utiliser les fonctions du GDI en obtenant un HDC.
Ou bien alors tu peux accèder directement à un tableau de pixels avec DDSurfaceDesc
Il faut voir dans les exemples du SDK de Direct 3D pour faire cela.

Quant à afficher des sprites oui on peut prendre des D3DXSPRITE mais c'est un peu lent à l'affichage.
Tu peux créer des Quad Vertex ; chercher sur le forum la personne qui s'appelle Loulou24 ( et qui est modérateur ) il a fait un code source avec ça..
__________________
Alea Jacta Est
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 04h27   #3
Expert Confirmé Sénior
 
Développeur informatique
Inscription : novembre 2006
Messages : 4 215
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2006
Messages : 4 215
Points : 5 291
Points : 5 291
Citation:
Envoyé par Kiwii Voir le message
Par l'utilisation de GetCursorPos() et GetPixel() je peux obtenir la couleur d'un pixel affiché à l'écran. Le problème étant : l'image qui me sert à détecter le clic ne doit pas être affichée ( pas belle ) alors que la belle image calquée exactement sur la moche est affichée.
j'ai absolument rien pigé
tu peux mettre une copie d'écran ?
Et puis GetPixel c'est pour le GDI
__________________
Alea Jacta Est
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 10h11   #4
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 62
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 62
Points : 27
Points : 27
Il est vrai, je n'ai pas été très clair
J'editerai mon post ce soir


Il faut que je voie cette histoire de Quad Vertex, c'est aussi horrible que ça le délai d'affichage d'un sprite ?
Kiwii est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h41.


 
 
 
 
Partenaires

Hébergement Web