Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-07-2008, 13:44   #1 (permalink)
nsp
Neuer User
 
Registriert seit: Sep 2007
Beiträge: 10
MouseEvent.MOUSE_MOVE - Maus zu schnell für Event

Hallo und einen schönen Sonntag,

vielleicht kennt jemand von euch folgendes Problem und hat dafür schonmal eine Lösung gefunden:

Ich versuche gerade eine eigene Slider-Komponente zu schreiben. Ich habe ein Event auf die Stage gelegt, welches solange sich die Maus bewegt immer die aktuelle x-Koordinate ausgeben soll. Je schneller ich jetzt aber die Maus bewege, desto mehr Lücken entstehen zwischen den Koordinaten. Das heißt, es wird anstatt 1-2-3-4-5 ... zum Beispiel 1-4-5 ... ausgegeben.

Gibt es denn eine andere Möglichkeit, alle Koordinaten der Mausbewegung auszugeben ohne Lücken zu bekommen? Vielleicht hab ich auch grad eine Denkblockade, aber irgendwie weiß ich nicht wie ich dieses Problem angehen soll. Aber vielleicht weiß ja jemand von euch einen Weg wie ich dieses umgehen kann.

Vielen Dank schonmal ...

bis denne dann
nsp ist offline   Mit Zitat antworten
Alt 27-07-2008, 13:55   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Zitat:
Gibt es denn eine andere Möglichkeit, alle Koordinaten der Mausbewegung auszugeben ohne Lücken zu bekommen?
Und wie definierst du alle Koordinaten?
Schon mal daran gedacht das zwischen 1.0 und 1.1 unendlich viele Werte liegen?

Zitat:
Je schneller ich jetzt aber die Maus bewege, desto mehr Lücken entstehen zwischen den Koordinaten. Das heißt, es wird anstatt 1-2-3-4-5 ... zum Beispiel 1-4-5 ... ausgegeben.
Das liegt sicher daran, das der FlashPlayer ein internes Intervall laufen hat, mit dem er die Koordinaten der Mouse abgreift.
Außerdem wäre da noch ein Problem mit der Framerate (auch wenn das MouseMove Event nicht abhängig von der framerate ist, soll nur als Beispiel diehnen warum der FlashPlayer nicht alle Werte weitergibt).
Bsp:
Deine swf läuft mit einen Frame pro Sekunde, der Anwender bewegt die Mouse um 100 pixel.
Nun bekommst du hundert events "nachgereicht", wovon aber 99 veraltet sind, da die Mouse dort gar nicht mehr ist.



Wozu brauchst du denn alle Koordinaten?
__________________
ERROR: Signature is too large

Geändert von rendner[i] (27-07-2008 um 13:58 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 27-07-2008, 14:05   #3 (permalink)
nsp
Neuer User
 
Registriert seit: Sep 2007
Beiträge: 10
hallo,

ich brauch die Koordinaten, um zu prüfen ob die Maus um einen bestimmten Faktor bewegt wurde, um dann den Slider-Thumb zu setzen.

Beispielsweise ist meine Komponente 300 px breit. Ich möchte aber zum Beispiel 31 Intervale auf diesem Slider abbilden, um bestimmte Tage eines Monats anzuspringen. Der Slider soll sich nur dann bewegen und zu diesem Interval springen, wenn sich der Slider um eine bestimmte Anzahl von Pixeln bewegt wurde. Werden jetzt aber Koordinaten übersprungen würde das Setzen der Position für den Slider nicht mehr funktionieren, oder irre ich mich da? Also wie das eigentlich snapInterval der Slider-Komponente in Flex.

ich hoffe man konnte dies jetzt verstehen ...
nsp ist offline   Mit Zitat antworten
Alt 27-07-2008, 14:40   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Verstehe ich nicht so ganz, aber kannst du nicht die alte Mouseposition speichern und diese mit der neuen verrechnen?
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 27-07-2008, 14:42   #5 (permalink)
nsp
Neuer User
 
Registriert seit: Sep 2007
Beiträge: 10
das hab ich schon versucht, manchmal klappt das auch, aber wenn die maus zu schnell ist, funktioniert das nicht mehr ... werd nochmal neu überlegen müssen.

Aber dir schonmal Danke.
nsp ist offline   Mit Zitat antworten
Alt 27-07-2008, 14:44   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Wieso, du verrechnest das doch?
Vielleicht postest du mal deinen Code mit einer etwas ausführlicheren Beschreibung deines Anliegens.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:01 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele