2013-04-03 3 views
0

양식에 3dgrid 구성 요소가있는 Firemonkey 양식이 (0,0,0)으로 설정되어 있습니다. 마우스를 클릭 할 때 눈금의 좌표를 얻고 싶습니다. 커서의 화면 위치를 얻는 방법을 알고 있지만 3dgrid의 마우스 위치와 관련된 3D 그리드 자체의 좌표가 필요합니다.3dgrid에서 위치 좌표 가져 오기

+0

Firemonkey XE2와 XE3에서 두 개의 가지, 그 중 어느 것도'객체 pascal'과 관련이 있습니다. 그것들은 모두 델파이에서만 사용됩니다. 델파이는 오브젝트 파스칼이 아닙니다. 질문이 FM (XE2)인지 FM2 (XE3)인지 결정해야합니다. –

+0

@ Kevin, 감사합니다. – user1868232

+0

@ Kevin Rad Studio XE3의 Delphi 측을 사용하고 있습니다. 오브젝트 파스칼이 아닙니까? C++ – user1868232

답변

0

당신은 그것을 시도 할 수 있습니다 ...

엠마누엘

procedure TFormMain.EveOnMyLayer3D_MouseUp(Sender: TObject; 
     Button: TMouseButton; Shift: TShiftState; X, Y: Single; RayPos, 
     RayDir: TVector3D); 
var 
    P3: TVector3D; 
    LocalX, LocalY: single; 


begin 
    if MyLayer3D.RayCastIntersect(rayPos, rayDir, P3) then 
    begin 
    P3 := MyLayer3D.AbsoluteToLocalVector(P3); 
    LocalX := P3.X*MyLayer3D.Resolution; 
    LocalY := P3.Y*MyLayer3D.Resolution; 
    ...