Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-03-2011, 13:23   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
Mouse-Up-Event erweiter

Hallo,

ich würde gerne das Mouse-Up-Event so erweitern bzw. mit anderen Events kombinieren, dass eine bestimmte Aktion auch dann ausgeführt wird, wenn die Maustast nicht über dem ursprünglichen Element losgelassen wird.

Also ähnlich wie eine Drag-und-Drop-Operation, bloß ohne dass etwas gezogen wird. Anfangen soll eine bestimmte Aktion wenn die Maustaste auf dem Element gedrückt wird, bis sie wieder losgelassen wird, unabhängig wo das ist.

Wie kann ich das machen?
Moorhuhn ist offline   Mit Zitat antworten
Alt 31-03-2011, 13:41   #2 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
Hätte ich nur zwei Minuten weitergegoogelt, hätte ich diesen Post nicht erstellen müssen

Für alle die eine ähnliche Frage haben:

Event-Start mit Mouse-Down, in dem EventHandler wird dann für das übergeordneten Element ein MouseUp-Event registriert, dass nachdem es ausgelöst wurde wieder gelöscht wird.

Code beispielsweise hier: Detecting a mouse up outside event in AS3

Wie man das Event allerdings auch beenden kann, wenn außerhalb des Flashplayers losgelassen wird, ist mir allerdings noch nicht klar

Geändert von Moorhuhn (31-03-2011 um 13:44 Uhr)
Moorhuhn ist offline   Mit Zitat antworten
Alt 31-03-2011, 13:54   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Das Loslassen außerhalb des Players kann man (logischerweise) nicht abfangen, wohl aber das Verlassen des Players:
PHP-Code:
stage.addEventListener(Event.MOUSE_LEAVEhandleMoueseLeave); 
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 31-03-2011, 14:45   #4 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
@Martin Kraft
Zitat:
Das Loslassen außerhalb des Players kann man (logischerweise) nicht abfangen
das ist so nicht ganz richtig,
wenn die Maustaste innerhalb des Players gedrückt wurde, kann ich MOUSE_MOVE && MOUSE_UP auch aussehalb des Players auffangen.

PHP-Code:
stage.addEventListener(MouseEvent.MOUSE_UPonMouseUp);
function 
onMouseUp(e:MouseEvent):void
{
    if(
e.stageX || e.stageY || e.stageX stage.stageWidth || e.stageY stage.stageHeight)
    {
        
trace("Mouse released outside");
    }


@Moorhuhn
Zitat:
Event-Start mit Mouse-Down, in dem EventHandler wird dann für das übergeordneten Element ein MouseUp-Event registriert, dass nachdem es ausgelöst wurde wieder gelöscht wird.
ich setze meistens den MOUSE_DOWN-Event auf das Objekt, und MOUSE_MOVE && MOUSE_UP auf die stage.
Hat den Vorteil, dass die Funktion auch bei schnellen Mausbewegungen immer richtig funktionieren.
und höher als die stage, ist nur noch: nicht mehr in der swf
PHP-Code:
mc.addEventListener(MouseEvent.MOUSE_DOWNonMouseDown);
stage.addEventListener(MouseEvent.MOUSE_MOVEonMouseMove);
stage.addEventListener(MouseEvent.MOUSE_UPonMouseUp);

//... Event-Listener 
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 31-03-2011, 14:55   #5 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von thomas_E Beitrag anzeigen
@Martin Kraft

das ist so nicht ganz richtig,
wenn die Maustaste innerhalb des Players gedrückt wurde, kann ich MOUSE_MOVE && MOUSE_UP auch aussehalb des Players auffangen.

PHP-Code:
stage.addEventListener(MouseEvent.MOUSE_UPonMouseUp);
function 
onMouseUp(e:MouseEvent):void
{
    if(
e.stageX || e.stageY || e.stageX stage.stageWidth || e.stageY stage.stageHeight)
    {
        
trace("Mouse released outside");
    }

Wieder was gelernt - Ich bin bisher davon ausgegangen, dass man im FlashPlayer (also nicht in Air) aus Sicherheitsgründen keinen Zugriff auf MouseEvents außerhalb des Players hat?! Werd's bei Gelegenheit mal testen.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 31-03-2011, 15:13   #6 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Ich bin bisher davon ausgegangen, dass man im FlashPlayer (also nicht in Air) aus Sicherheitsgründen keinen Zugriff auf MouseEvents außerhalb des Players hat?!
natürlich hast du keinen Zugriff auf Mausevents die ausserhalb der swf gefeuert werden (und das ist auch bestens)
aber solange die Maustaste noch gedrückt ist (und innerhalb der swf gedrückt wurde) gehört die Maus noch der swf

edit:
in einem Punkt muss ich mich da korrigieren. es funzt nur solange der Event-Listener auf stage liegt, wenn der Event-Listener auf root oder darunter liegt, reagieren die Events auch nur auf den "bemalten" flächen.
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 31-03-2011, 17:13   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 68
Ich habe hier nochmal was gefunden zu dem Thema MouseUp außerhalb des Players: flash - Detect Mouse leave stage while dragging in Actionscript 3 - Stack Overflow
Moorhuhn 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mouse event von mc GTStefan Flash Einsteiger 9 30-04-2007 16:35
on mouse event pigpen Flash 4 und Flash 5 3 25-07-2004 22:41
problem mit mouse Event jofri Flash 4 und Flash 5 7 18-12-2002 21:20
mouse event in flash chp Flash MX 7 03-11-2002 17:24
on mouse event's' hjk Flash 4 und Flash 5 6 13-11-2001 21:48


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele