Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Last revisionBoth sides next revision | ||
0.8.3:interaction [2022/04/20 15:42] – [Classic Camera Mouse Movement] admin | 0.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: | procedure TGameWin.GorillaViewport1MouseDown(Sender: | ||
Button: TMouseButton; | Button: TMouseButton; | ||
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); | + | |
- | LDir := LDir + TPoint3D(GorillaCamera1.AbsoluteDirection) * (LDiff.Y * 0.1); | + | |
+ | /// then we apply the forward direction | ||
+ | LDir := LDir + TPoint3D(GorillaCamera1.AbsoluteDirection) * (LDiff.Y * FSpeed); | ||
- | // 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; |