- procedure TfrmMain.PanelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
- var
- NMPos : TPoint;
- begin
- if FMouseClick then begin
- NMPos := Mouse.CursorPos;
- if OMPos.X < NMPos.X then begin
- Position.x := Position.x-(sin((yRot-90)*PIOver180))*0.2;
- Position.z := Position.z+(cos((yRot-90)*PIOver180))*0.2;
- end;
- if OMPos.X > NMPos.X then begin
- Position.x := Position.x+(sin((yRot-90)*PIOver180))*0.2;
- Position.z := Position.z-(cos((yRot-90)*PIOver180))*0.2;
- end;
- if (OMPos.Y>NMPos.Y) and (xrot>-60) then begin
- Position.x := Position.x-sin(-yrot*piover180)*0.2;
- Position.z := Position.z-cos(-yrot*piover180)*0.2;
- end;
- if (OMPos.Y<NMPos.Y) and (xrot<60) then begin
- Position.x := Position.x+sin(-yrot*piover180)*0.2;
- Position.z := Position.z+cos(-yrot*piover180)*0.2;
- end;
- NMPos := Mouse.CursorPos;
- OMPos := NMPos;
- end;
- mx := x;
- my := y;
- end;