Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » OpenGL » Mausbewegung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.06.2004, 23:52 Uhr
Lensflare



hallo.

ich bräuchte dringend eine methode zu ermitteln in welche richtung und wie weit sich die maus seit dem letzten frame bewegt hat.

Bitte keine methoden, bei denen man extra sachen includen muss. folgendes hab ich schon drin:
windows.h
gl.h
glaux.h
glu.h

wenns doch nur über includen geht, dann brauche ich eine erklärung wie das geht *schäm*
ich benutze Dev-Cpp unter windows.

vielen dank.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.06.2004, 11:27 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du benutzt ja sicherlich DoubleBuffering, also hast du ja irgendwo SwapBuffers(...)
dann kannst du danach z.b folgendes einfügen:


C++:
GetCursorPos(m_CurPos); // m_CurPos ist POINT-Member;

int XAenderung = m_LastPos.x - m_CurPos.x; //m_LastPos ebenfalls POINT-Member;
int YAenderung = m_LastPos.y - m_CurPos.y;

m_LastPos = m_CurPos;



ist vielleicht nicht das eleganteste, aber so gehts jedenfalls
--
class God : public ChuckNorris { };

Dieser Post wurde am 05.06.2004 um 11:28 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.06.2004, 15:08 Uhr
Lensflare



SwapBuffers(...) ?? kenn ich nicht.

hab den code so eingegeben, aber der compiler kennt die variablen nicht... muss ich sie vorher declarieren? Wenn ja wie sieht das dann aus?
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.06.2004, 17:03 Uhr
Lensflare



also ich hab mal gegoogelt und rumprobiert bis ich das hier geschafft hab


C++:
int maus_koordinate_x;
int maus_koordinate_y;
POINT maus;

GetCursorPos(&maus);
maus_koordinate_x = maus.x;
maus_koordinate_y = maus.y;



leider ist das nicht 100% das was ich wollte, denn die mauskoordinaten werden von der auflösung beschränkt.
wenn ich also etwas durch die maus verschieben will, wird es immer dann abgebrochen, wenn die maus den bildschirmrand erreicht hat. Ich kann mich also nicht einmal permanent um die eigene achse drehen.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.06.2004, 15:54 Uhr
~toxic
Gast


hi, dann mach doch einfach ein setcursor danach...

C++:
// am anfang irgendwann
POINT m_bildmitte;
bildmitte.x = 640; // am besten genau die Bildschirmmitte
bildmitte.y = 480; // also hälfte der auflösung
...

GetCursorPos(&maus);
SetCursorPos(&m_bildmitte);
mausDeltaX = m_bildmitte.x - maus.x;
mausDeltaY = m_bildmitte.y - maus.y;
...

--
grusz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.06.2004, 19:00 Uhr
Lensflare



Super, danke.

ich hab mir zwar auch schon überlegt, den cursor wieder in die mitte zu setzen, aber es hat nicht funktioniert, weil ich nicht drauf gekommen bin, die differenz aus der mitte und dem cursor zu berechnen.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ OpenGL ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: