Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-11-2005, 22:25   #1 (permalink)
IQ: 36,8
 
Registriert seit: Apr 2005
Beiträge: 76
onKeyDown soll nur lokal und nicht global funzen

Hi,

das untenangehängte AS nutze ich, um Textabfragen vorzunehmen. Es funktioniert so weit auch ohne Probleme, aber fast immer führt die Enter-Taste auch dann eine Funktion aus (sprich: geht zu einem weiter hinten liegenden frame) obwohl das AS auf dem "aktiven Bildschirm" gar nicht hinterlegt ist. Die fla ist knapp 10MB groß und daher kann ich sie nicht uppen.

Kann mir jemand sagen, ob ich etwas bestimmtes hierbei beachten muss?

Eine andere Frage: Müsste ich nicht auch die Funktionstasten nutzen (abfragen) können? Z.B. die F11-Taste mit dem Tastencode 122? Aber das scheint Flash nicht zu mögen, kann das sein?

Hier nun das AS:

PHP-Code:
stop();
Selection.setFocus("e_A4a")
key_listener = new Object();
key_listener.onKeyDown = function() {
if (
Key.getCode() == 13 && (_root.e_A4a.text == "913" || _root.e_A4a.text == "913000")) {
gotoAndPlay(4);
}
};
Key.addListener(key_listener); 
hannabi ist offline   Mit Zitat antworten
Alt 04-11-2005, 22:34   #2 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
du kannst mit removeListener() den listener entfernen, wenn du ihn nicht brauchst, und wenn du ihn brauchst, fügst du ihn wieder an.

alternativ füg doch eine if-bedingung in den listener ein, so dass nur unter gegebenen umständen aktionen ausgeführt werden.

zum thema F11:
geht das nur in flash nicht, oder auch im player? als ich mal mit num und enter und anderen gearbeitet habe, gingen diese in der flash-vorschau dann gerne mal nicht, aber im echten einsatz dann schon.

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 05-11-2005, 10:17   #3 (permalink)
IQ: 36,8
 
Registriert seit: Apr 2005
Beiträge: 76
Ich habe ss bisher nur in der Vorschau ausprobiert. Aber danke für den Hinweis auf den Echteinsatz. Das werde ich nochmal ausprobieren.

"removeListener()" setze ich dann im nächsten frame in dem ich den listener nicht mehr benötige, oder? Muss der ins gleiche frame rein in dem ich ihn auch erstelle?

Vielen Dank erst mal für deine Antwort!!!
Hannabi
hannabi ist offline   Mit Zitat antworten
Alt 05-11-2005, 11:30   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Du kannst das auch in der Entwicklungsumgebung testen: (<strg>+Enter) und dann einfach mal im Menü unter Steuerung -> "Tastenkombinationen deaktivieren" anklicken. Nu geht das...
PHP-Code:
stop();
key_listener = new Object();
key_listener.onKeyDown = function() {
    if (
Key.getCode() == 122) {
        
trace("F11")
        
Key.removeListener(key_listener)
        
trace("Listener gelöscht...")
        
    }
};
Key.addListener(key_listener); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 05-11-2005, 13:41   #5 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
Zitat:
Zitat von hannabi
"removeListener()" setze ich dann im nächsten frame in dem ich den listener nicht mehr benötige, oder? Muss der ins gleiche frame rein in dem ich ihn auch erstelle?
in den gleichen frame, in dem du ihn erstellst, halte ich für ziemlich wenig sinnvoll, denn sonst passiert ja auch da nichts.
listener heißt ja im grunde genau:
addListener() => Flash, reagiere auf aktivitäten des Key-objekts so, wie es im listener beschrieben ist.
removeListener() => Flash, reagiere nicht mehr.

ich würde sagen du probierst das einfach mal aus, und erzählst uns dann wie's geht , ich hab nämlich selbst noch nie einen listener entfernt.

gruß janosch
janoshnosh 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 23:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele