Ne, das geht nicht.
Delphi-Quellcode:
procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then
GLCamera1.MoveAroundTarget((MousePos.Y - Y) / 2, (MousePos.X - X) / 2);
MousePos.X := X;
MousePos.Y := Y;
end;
Da muss nach dem then ein begin end.
Ein MousePos gibt es nicht, nur Mouse.CursorPos und meine Variable startpos.
MousePos.X:=X funktioniert gar nicht, da X die Position innerhalb des betroffenen Controls zuweist, außerdem hätte ich den Mauszeiger immer gerne in der Mitte des Controls, daher auch das
mouse.cursorpos:=
glsceneviewer1.clienttoscreen(Point(glsceneviewer1 .Width div 2, glsceneviewer1.Height div 2));
Also das Problem ist genauer gesagt jetzt: Es wird gar nichts mehr gedreht und gerendert auch nicht.