marsupial hat geschrieben:
Ist doch im Prinzip ganz einfach: Wenn die Maustaste gedrückt wirst, setzt du irgendeine Variable auf 1. Wenn sie losgelssen wird, setzt du sie ganz einfach wieder auf 0.
Jetzt fragst du den Wert dieser Variable ab, und wen nder 1 ist, dann wird die Maustaste gedrückt, wenn der 0 ist, wird sie nicht gedrückt
Ja hatte mir auch gedacht das es so einfach geht nur..
wenn ich es so mache
Beispielcode ;
Code:
Function onevent(ByVal e As Irrlicht.Event) As Boolean Implements IEventReceiver.OnEvent
' Move
If e.KeyPressedDown = True Then
If e.Key = KeyCode.KEY_F1 Then
_3dwindow.cam_move = New Vector3D(0, 0, Form1.c_speed.Value)
_3dwindow.cam_trans.SetRotationDegrees(_3dwindow.p_cam.Rotation)
_3dwindow.cam_trans.TransformVect(_3dwindow.cam_move)
_3dwindow.p_cam.Position = _3dwindow.p_cam.Position + _3dwindow.cam_move
End If
If e.Key = KeyCode.KEY_F2 Then
_3dwindow.cam_move = New Vector3D(0, 0, -Form1.c_speed.Value)
_3dwindow.cam_trans.SetRotationDegrees(_3dwindow.p_cam.Rotation)
_3dwindow.cam_trans.TransformVect(_3dwindow.cam_move)
_3dwindow.p_cam.Position = _3dwindow.p_cam.Position + _3dwindow.cam_move
End If
End If
' Drehen
If old_m.X > e.MousePos.X Then
m_m = 1
Else
m_m = -1
End If
If old_m.Y > e.MousePos.Y Then
m_m_y = -1
Else
m_m_y = 1
End If
' ________________________________________________________
If e.MouseInputType = MouseInputEvent.PressedDownRight = True Then
If Cam_moving = False Then
Cam_moving = True
_3dwindow.engine.CursorControl.Visible = False
Else
Cam_moving = False
_3dwindow.engine.CursorControl.Visible = True
End If
End If
If Cam_moving = True Then
_3dwindow.p_cam.Rotation = New Core.Vector3D(Cursor.Position.Y, Cursor.Position.X, 0)
End If
'_________________________________________________________
old_m.X = e.MousePos.X
old_m.Y = e.MousePos.Y
End Function
Dann geht es auch nur wenn ich z.B. dann mich mit F1 oder F2 bewegen möchte macht er die Rotation mit. Als ob ich die rechte maustaste drücken würde.