Maus-Koordinaten setzen



  • Hallo!

    Hab nen Problem. In dem Thread weiter unten:
    [url] Maus-Koordinaten [/url]

    hatte ich das schonmal angesprochen. Also, ich schreibe jetzt mit nem Font die Koordinaten auf den Bildschirm. Wisst ihr was ich da lese?

    Immer da, wo der Cursor bei Programmstart ist, da ist auch der Koordinatenursprung. Kann man den Muszeiger auch auf eine bestimmte osition versetzen? Also z.b. auf 0,0?

    Gruß, Maxi



  • Kommt drauf an, wie du die Mausposition abfragst ... unter Windows mit SetCursorPos. Wenn du DirectInput verwendest, musst du die Position in deinen eigenen Strukturen (aus dem DIMOUSSTATE) verändern ...

    M.T.



  • Kannst du/Könnt ihr mir das näher erklären?



  • Original erstellt von Manuel:
    **Kommt drauf an, wie du die Mausposition abfragst ... unter Windows mit SetCursorPos. Wenn du DirectInput verwendest, musst du die Position in deinen eigenen Strukturen (aus dem DIMOUSSTATE) verändern ...
    **

    Das wird aber nicht zur Folge haben, dass die Maus tatsächlich verschoben wird!



  • Oder einfach mal nen ganz anderer Vorschlag:

    Wie kreiiert ihr DInput? Villeicht schickt ihr mir mal was. Ich benutze Klassen, hab mal gehört dass das nicht gut sen soll. Was macht ihr?

    Grüße, Maxi



  • das interessiert mich auch
    1. wenn ich die werte in der DIMOUSSTATE ändert sich die position nich... wie dann?
    2. warum hab ich in der DIMOUSSTATE keine fenster/bildschirmkoordination sondern nur die veränderung seit der letzten bewegung stehn?
    3.warum bekomm ich werte im mio/milliarden bereich wenn ichs den status auf absolute koordinaten umstelle?



  • Original erstellt von Sovok:
    das interessiert mich auch
    1. wenn ich die werte in der DIMOUSSTATE ändert sich die position nich... wie dann?
    2. warum hab ich in der DIMOUSSTATE keine fenster/bildschirmkoordination sondern nur die veränderung seit der letzten bewegung stehn?
    3.warum bekomm ich werte im mio/milliarden bereich wenn ichs den status auf absolute koordinaten umstelle?

    Weil alles relativ ist. Macht euch doch einfach 'nen eigenes Koordinatensystem auf, und alles wird gut!



  • Das wollt ich doch damit auch sagen (siehe - eigene Strukturen (!))

    M.T.



  • Lol, ich bin ein Newbie.

    Vielleicht könnt mihr mir dasa mal ganz ruhig und langsam erklären.

    Gruß, Maxi



  • Original erstellt von Maxi:
    **Lol, ich bin ein Newbie.

    Vielleicht könnt mihr mir dasa mal ganz ruhig und langsam erklären.**

    Achtung, Pseudocode:

    // cursor zentrieren
    int cursorX = screenWidth / 2;
    int cursorY = screenHeight / 2;
    
    drawCursor(cursorX, cursorY);
    
    int deltaX, deltaY;
    
    // jeden frame:
    getMouseData(&deltaX, &deltaY); // schreibt mausbewegungen in deltaX/ Y rein
    
    cursorX += deltaX; // achtung: normalerweise hier testen ob cursorX<0 oder >screenWidth !
    cursorY += deltaY; // achtung: normalerweise hier testen ob cursorY<0 oder >screenHeight !
    
    drawCursor(cursorX, cursorY);
    

Anmelden zum Antworten