Aktuelle Zeit: 07.01.2025, 03:39

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Maustaste gedrückt
BeitragVerfasst: 28.06.2007, 20:09 
Offline

Registriert: 22.04.2007, 13:12
Beiträge: 53
Hi
Hab da mal einige Events in mein Projekt eingebaut womit man zb. durch die Pfeiltasten ein Object durchschalten kann. Nunja jetzt wollte ioch das wenn man ein Model anklickt und die Maustaste gedrückt hällt das Model verschieben kann.
Jetzt die Frage: In den Events der maus kann ich nur überprüfen ob die Maus gedrückt wurde und ob sie gerade losgelassen wurde. kann leider nichts finden womit ich überprüfen kann ob die taste dauerhaft gedrückt wird.

Hoffe mir kann jemand helfen ;)

Danke schonmal.

_________________
Progammiersprache: VB.NET 2005
Irrlichtversion: Irrlicht.Net CP 0.8


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Maustaste gedrückt
BeitragVerfasst: 28.06.2007, 21:13 
Offline
Moderator

Registriert: 25.02.2007, 14:35
Beiträge: 323
Wohnort: Münster
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 ;)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Maustaste gedrückt
BeitragVerfasst: 28.06.2007, 21:19 
Offline

Registriert: 22.04.2007, 13:12
Beiträge: 53
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.

_________________
Progammiersprache: VB.NET 2005
Irrlichtversion: Irrlicht.Net CP 0.8


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de