0
양식에 3dgrid 구성 요소가있는 Firemonkey 양식이 (0,0,0)으로 설정되어 있습니다. 마우스를 클릭 할 때 눈금의 좌표를 얻고 싶습니다. 커서의 화면 위치를 얻는 방법을 알고 있지만 3dgrid의 마우스 위치와 관련된 3D 그리드 자체의 좌표가 필요합니다.3dgrid에서 위치 좌표 가져 오기
양식에 3dgrid 구성 요소가있는 Firemonkey 양식이 (0,0,0)으로 설정되어 있습니다. 마우스를 클릭 할 때 눈금의 좌표를 얻고 싶습니다. 커서의 화면 위치를 얻는 방법을 알고 있지만 3dgrid의 마우스 위치와 관련된 3D 그리드 자체의 좌표가 필요합니다.3dgrid에서 위치 좌표 가져 오기
당신은 그것을 시도 할 수 있습니다 ...
엠마누엘
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;
...
Firemonkey XE2와 XE3에서 두 개의 가지, 그 중 어느 것도'객체 pascal'과 관련이 있습니다. 그것들은 모두 델파이에서만 사용됩니다. 델파이는 오브젝트 파스칼이 아닙니다. 질문이 FM (XE2)인지 FM2 (XE3)인지 결정해야합니다. –
@ Kevin, 감사합니다. – user1868232
@ Kevin Rad Studio XE3의 Delphi 측을 사용하고 있습니다. 오브젝트 파스칼이 아닙니까? C++ – user1868232