AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Maus verlangsamen

Ein Thema von Die Muhkuh · begonnen am 19. Jul 2008 · letzter Beitrag vom 20. Jul 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#11

Re: Maus verlangsamen

  Alt 19. Jul 2008, 19:42
Was willst Du mir damit sagen?
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#12

Re: Maus verlangsamen

  Alt 19. Jul 2008, 20:39
HI,

ich würd mir den aktuellen Punkt merken und bei einer Mausbewegung den Punkt nur um den halben Abstand ändern.
Du kannst aber auch die Maus ausblenden, musst sie dafür selbst zeichnen. Dadurch kannst du die Bewegungen entsprechend verlangsamen. Dieses Prinzip wird (ohne Verlangsamung) höchtwahrscheinlich auch in Ego-Shootern verwendet, da man sich hier beliebig z.B. nach rechts drehen kann, ohne an einen Bildschirmrand zu stoßen. Nach dem loslassen der Shift-Taste kannst du entweder den Cursor an seiner aktuellen Position wieder auftauchen lassen oder erst verschieben und dann wieder auftauchen lassen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Maus verlangsamen

  Alt 20. Jul 2008, 03:45
Genau das wollte ich auch grad vorschlagen. In solchen Fällen blende ich meist die Maus aus, und berechne mir "OnMouseMove" die Verschiebung zum vorigen Punkt, und das eigentliche Objekt wird dann nur um ein Bruchteil des Verschiebungsvektors bewegt. Dabei macht es auf jeden Fall Sinn, die Position das zu verschiebenden Teils mit Floats zu speichern und berechnen, und nur zu Anzeigezwecken zu runden.
Da man auch mit ausgeblendetem Cursor noch an den Bildrand stoßen kann (halt nur unsichtbarerweise dann), behelfe ich mir da meist mit einem Timer, der die unsichtbare Maus auf die Bildschirmmitte zurück zieht. 200ms schien dafür ein brauchbarer Wert zu sein, so dass man sich schon sehr anstrengen muss um in der Zeit nen halben Bildschirm zu "überqueren". Und keine Angst: Alle 200ms den Cursor versetzen ist wirklich nichts, was eine CPU groß juckt.

Eleganter wäre es natürlich, wenn man die Maus generell dazu bringen könnte bei Bewegung nur einen Richtungsverktor zu liefern, statt einer Position. Dann fiele das Rücksetzen sowie das eigene Berechnen weg. Jedoch kenne ich bislang keine Möglichkeit dies zu machen. Ich kann mir vorstellen, dass das u.U. mit DirectInput was gibt, aber ich habe auch in Richtung WinAPI noch nicht recherchiert.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
rotfc
(Gast)

n/a Beiträge
 
#14

Re: Maus verlangsamen

  Alt 20. Jul 2008, 04:06
Hilft vermutlich nicht, aber vielleicht ein vager Ansatzpunkt zum Weitersuchen:

http://linuxreviews.org/howtos/xfree/mouse_speed_in_x/
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz