Probably not the best way to do it, but it works:
Declare these variables:
Public rightClick As Boolean
Dim MousePosX, MousePosY As Single
in your mouseDown event:
If e.Button = Windows.Forms.MouseButtons.Right Then
rightClick = True
MousePosX = DarkGDK.IO.Mouse.X
MousePosY = DarkGDK.IO.Mouse.Y
end if
in your mouseUp event:
If e.Button = Windows.Forms.MouseButtons.Right Then
rightClick = False
end if
then in the loop:
Dim tmpCamPosX, tmpCamPosY, tmpMouseX As Single
tmpCamPosX = DarkGDK.Camera.DefaultCamera.CurrentAngleX
tmpCamPosX = tmpCamPosX + ((DarkGDK.IO.Mouse.Y - MousePosY) * 0.01)
tmpCamPosY = DarkGDK.Camera.DefaultCamera.CurrentAngleY
tmpCamPosY = tmpCamPosY + ((DarkGDK.IO.Mouse.X - MousePosX) * 0.01)
If tmpCamPosX < -50 Then tmpCamPosX = -50
If tmpCamPosX > 50 Then tmpCamPosX = 50
If rightClick Then DarkGDK.Camera.DefaultCamera.RotateCurrent(tmpCamPosX, tmpCamPosY, 0)
Another way to do it:
Dim fCameraAngleX As Single = 0.0F
Dim fCameraAngleY As Single = 0.0F
fCameraAngleX = DarkGDK.Core.WrapValue(fCameraAngleX + CSng(DarkGDK.IO.Mouse.MoveY) * 0.4F)
fCameraAngley = DarkGDK.Core.WrapValue(fCameraAngley + CSng(DarkGDK.IO.Mouse.MoveX) * 0.4F)
DarkGDK.Camera.DefaultCamera.CurrentAngleX = fCameraAngleX
DarkGDK.Camera.DefaultCamera.CurrentAngleY = fCameraAngleY