2013-04-03 2 views
0

У меня есть форма Firemonkey с компонентом 3dgrid на форме, установленной на (0,0,0). Я хочу получить координаты пятна на сетке при щелчке мыши. Я знаю, как получить положение экрана курсора, но мне нужны координаты самой 3d-сетки относительно положения мыши на 3dgrid.Получить координаты позиции на 3dgrid

+0

FireMonkey в XE2 и XE3 две разные вещи, и ни один из них имеет отношение к 'объектно-pascal'. Они оба специфичны для Delphi, что не является * Object Pascal. Вам нужно будет решить, относится ли ваш вопрос к FM (XE2) или FM2 (XE3). –

+0

@ Кевин, спасибо. – user1868232

+0

@ Kevin Я использую сторону Delphi Rad Studio XE3, разве это не объект-паскаль? В отличие от 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; 
    ...