• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-05-2009, 18:32   #1 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 18
Question KeyboardEvent "aktiviert" MouseEvent !?

Hallo zusammen, habe ein Problem. Folgender Code (gekürzt):

Code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyevent);
vollbildButton.addEventListener(MouseEvent.CLICK, vollbild);

function keyevent(event:KeyboardEvent){
   if(event.keyCode == Keyboard.SPACE){
      if (resumeButton.visible == false) {
         pausieren();
      }
      else {
         wiederaufnehmen();
      }
   }
}

function pausieren() {
   ns.pause();
   pausButton.visible = false;
   resumeButton.visible = true;
}

function wiederaufnehmen() {
   ns.resume();
   pausButton.visible = true;
   resumeButton.visible = false;
}

function vollbild(event:MouseEvent) {
   stage["displayState"] = "fullScreen";
   stage.scaleMode = "noScale";
}
Das Problem ist nun: Wenn man auf den Vollbild-Button (vollbildButton) klickt, wird der NetStream (ns) pausiert, obwohl die Leertaste (SPACE) gar nicht gedrückt wurde. Ist er schon vorher pausiert, beginnt er wieder zu laufen.

Ich habe keine Ahnung, was da schiefläuft. "Aktiviert" der KeyboardEvent die Funktion des MouseEvents

Geändert von Programmierer (17-05-2009 um 19:54 Uhr)
Programmierer ist offline   Mit Zitat antworten
Alt 18-05-2009, 10:05   #2 (permalink)
in and out
 
Benutzerbild von Nikolai
 
Registriert seit: Jun 2001
Ort: hamburg
Beiträge: 142
Hi

das habe ich auch bei einem Videoplayer von mir festgestellt den man mit SPACE starten und stoppen konnte. Sobald es auf Vollbild springt wird ein KeyEvent dispatched. Keine Ahnung was da los ist. Ich habe es für den späteren Fix dann erstmal auf ENTER gelegt - was aber weit weniger intuitiv ist.

Lösungen sind willkommen
__________________
stay tuned, play hard, be real

Nikolai™
Nikolai ist offline   Mit Zitat antworten
Alt 18-05-2009, 10:58   #3 (permalink)
lebt in stereo
 
Benutzerbild von figure8
 
Registriert seit: Mar 2008
Ort: karlsruhe
Beiträge: 1.093
naja, das hängt mit dem fp10 zusammen. der erlaubt nämlich im fullscreen nun keys wie space, etc. das problem dabei ist, dass der flashplayer diese kurz aktiviert, während er alle anderen deaktiviert. demnach wird auch das event gefeuert. beim press auf den fs-button deinen key-listener removen und sobald er im fullscreen ist wieder adden schafft da (bisher die einzige, glaube ich) lösung.
oder check mal, was wirklich in der funktion als event ankommt - vielleicht kannst du´s ja auch mit einer if-abfrage vom normalen space-drücken unterscheiden.
__________________
* Flash-JunkieMusiker & Grafiker

# Marvin Blase
# Speaker, Author, Silly Billy.
# @beautifycode
figure8 ist offline   Mit Zitat antworten
Alt 19-05-2009, 23:04   #4 (permalink)
Neuer User
 
Registriert seit: May 2009
Beiträge: 18
Habs jetzt so gelöst:

Code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyevent);
vollbildButton.addEventListener(MouseEvent.CLICK, vollbild);

function keyevent(event:KeyboardEvent){
   if(event.keyCode == Keyboard.SPACE){
      if (resumeButton.visible == false) {
         pausieren();
      }
      else {
         wiederaufnehmen();
      }
   }
}

function pausieren() {
   ns.pause();
   pausButton.visible = false;
   resumeButton.visible = true;
}

function wiederaufnehmen() {
   ns.resume();
   pausButton.visible = true;
   resumeButton.visible = false;
}

function vollbild(event:MouseEvent) {
   pausButton.visible = !pausButton.visible;
   resumeButton.visible = !resumeButton.visible;
   stage["displayState"] = "fullScreen";
   stage.scaleMode = "noScale";
}
Programmierer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
event, events, keyboardevent, mouseevent

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 01:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele