07/06/20 00:13:01
>>133
メソッドありますよ。
TGLSceneViewerのBufferプロパティのGetPickedObjectメソッドを使えばいいです。
function GetPickedObject(x, y : Integer) : TGLBaseSceneObject;
例えばGLSceneViewerのonMouseMoveイベントで、
procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
pick : TGLBaseSceneObject;
s : String;
begin
pick:=GLSceneViewer1.Buffer.GetPickedObject(x, y);
if Assigned(pick) then begin
s:=pick.Name;
showmessage(s);
end;
end;
上記の様にNameプロパティを使って判別するのもよし、Tagで判別するのもよし・・・
デモのinterfaceフォルダの中のpickを参照してみてください。