Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
0.8.3:interaction [2022/04/20 15:42] – [Classic Camera Mouse Movement] admin0.8.3:interaction [2022/04/20 15:43] – [Classic Camera Mouse Movement] admin
Line 102: Line 102:
  
 <file pascal> <file pascal>
 +var FMove : Boolean;
 +    FLastPos : TPointF;
 +    FSpeed : Single = 0.1;
 +
 procedure TGameWin.GorillaViewport1MouseDown(Sender: TObject; procedure TGameWin.GorillaViewport1MouseDown(Sender: TObject;
   Button: TMouseButton; Shift: TShiftState; X, Y: Single);   Button: TMouseButton; Shift: TShiftState; X, Y: Single);
Line 129: Line 133:
   else   else
   begin   begin
-    // move camera in camera direction 
     LDir := TPoint3D.Zero;     LDir := TPoint3D.Zero;
  
-    LDir := LDir + TPoint3D(GorillaCamera1.AbsoluteLeft) * (LDiff.X * 0.1); +    /// at first we apply the left-side direction  
-    LDir := LDir + TPoint3D(GorillaCamera1.AbsoluteDirection) * (LDiff.Y * 0.1);+    LDir := LDir + TPoint3D(GorillaCamera1.AbsoluteLeft) * (LDiff.X * FSpeed); 
 +    /// then we apply the forward direction 
 +    LDir := LDir + TPoint3D(GorillaCamera1.AbsoluteDirection) * (LDiff.Y * FSpeed);
  
-    // we move the parent dummy, not the camera itself!+    /// we move the parent dummy, not the camera itself! 
 +    /// simply by adding our direction vector to the current dummy position
     Dummy1.Position.Point := Dummy1.Position.Point + LDir;     Dummy1.Position.Point := Dummy1.Position.Point + LDir;
   end;   end;