Meine Karte auf dem Bildschirm mit den Screenkoordinaten:
***** diese Koordinaten habe ich nicht, aber ich möchte sie ****
mesh.left 30
mesh.width 50
mesh.top 20
mesh.height 100
******************************************************
Dann könnte ich abfragen:
POINT mMousePos;
GetCursorPos(&mMousePos);
BOOL bTreffer = FALSE;
if (mMousePos.x > 30 && mMousePos.x < 80 && mMousePos.y > 20 && mMousePos.y < 120)
bTreffer = TRUE;
else
bTreffer = FALSE;
if (bTreffer)
mesh.render(transparent)
else
mesh.render(normal);
jetzt verschiebe ich das Mesh um 0.1f nach links
Wie finde ich es wieder, ich schäme mich schon langsam hier zu fragen, aber ich verstehe es nicht.
Du hast gesagt: ( Wenn ich es richtig verstanden habe )
D3DXVECTOR3 lVector;
D3DVIEWPORT8 lViewport;
D3DXMATRIX lProjectionMatrix;
D3DXMATRIX lViewMatrix;
D3DXMATRIX lWorldMatrix;
fD3dDevice->GetViewport(&lViewport);
fD3dDevice->GetTransform(D3DTS_WORLD,&lWorldMatrix);
fD3dDevice->GetTransform(D3DTS_VIEW,&lViewMatrix);
fD3dDevice->GetTransform(D3DTS_PROJECTION,&lProjectionMatrix);
D3DXVec3TransformCoord(&lVector,&lVector,&lWorldMatrix);
D3DXVec3TransformCoord(&lVector,&lVector,&lViewMatrix);
D3DXVec3TransformCoord(&lVector,&lVector,&lProjectionMatrix);
D3DXVec3Project(
&lVector,
&lVector,
&lViewport,
&lProjectionMatrix,
&lViewMatrix,
&lWorldMatrix);
Wie bekomme ich denn jetzt meine Koordinaten ?
mesh.left = ?
mesh.width = ?
mesh.top = ?
mesh.height = ?
Bitte entschuldige meine Dummheit :wall:
MFG, Dieter