Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-05-2005, 13:47   #1 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
anzahl der tastendrücke inkrementiert sich :-(

hi,
ich lasse eine funktion ausführen, wenn ich auf "enter" drücke.
das blöde ist aber, daß wenn ich das später nochmal mache, daß flash dann 2x gleichzeitig die funktion ausführt.
nach einem weiteren enter-drücken wird die funktion 3x ausgeführt.

hier das script:
ActionScript:
  1. druck = {}
  2. druck.onKeyDown = function () {
  3.         if (Key.isDown(Key.ENTER)) {
  4.                 titelChange();
  5.                 trace("enter")
  6.         }
  7. }
  8. Key.addListener (druck);

es ist in meinem fall aber wichtig, daß die titelChange() funktion nur einmal ausgeführt wird.

thx 4 tips!
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 24-05-2005, 13:58   #2 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.411
hi,

dein problem denke ich liegt in der funktion die aufgerufen wird. nicht am keylistener. siehe selbst:

PHP-Code:
var druck:Object = new Object();
druck.onKeyDown = function() {
    if (
Key.isDown(Key.DOWN)) {
        
titelChange();
        
trace("Down");
    }
};
Key.addListener(druck);
function 
titelChange() {
    
trace("Aufruf titelChange");

mojave ist offline   Mit Zitat antworten
Alt 24-05-2005, 14:17   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
ActionScript:
  1. if (!druck) {
  2. var druck = {}
  3.  
  4. druck.onKeyDown = function () {
  5. if (Key.isDown(Key.ENTER)) {
  6. titelChange();
  7. trace("enter")
  8. }
  9. }
  10.  
  11. Key.addListener (druck);
  12. }
So kannst du sicherstellen, dass der Listener nicht mehrmals angemeldet wird (das tut Flash nämlich sonst eiskalt... )
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 24-05-2005, 14:52   #4 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
okay, also für meinen speziellen fall klappt das nicht (komplizierte geschicht)
aber mir wäre geholfen, wenn ich wüsste, wie man alle listener löschen kann, sodaß alle bestehenden listener gekillt werden.
__________________
Design ist AUCH Geschmackssache.

Geändert von Mr.Twister (24-05-2005 um 14:56 Uhr)
Mr.Twister ist offline   Mit Zitat antworten
Alt 24-05-2005, 15:46   #5 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Wenn du mehrere Frames hast, startest du durch Enter möglicherweise die Timeline von Flash. Deshalb wird dein Code immer wieder neu ausgeführt.
mfg. r.
bokel 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 09:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele