Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-01-2005, 22:46   #1 (permalink)
Neuer User
 
Benutzerbild von Sanjarok
 
Registriert seit: Aug 2003
Beiträge: 62
key.isDown oder listener.onKeyUp

Hallo,

ich habe ein Problem, das sehr trivial ist, aber mir gerade ziemliche Schwierigkeiten bereitet: wie schafft man es, das Flash es erkennt, dass man eine bestimmte Taste einmal gedrückt hat, ohne dass er das Ereignis gleich mehrfach macht?

Bei Key.isDown(Key.<...>) macht er das entsprechende Ereignis mehrfach.
Das, was ich wohl eigentlich bräuchte, wäre ein key.isUp(key.<...>), was es aber nicht gibt.

Wenn man einen Key-Listener einbaut, hat man das Problem, dass man dieses Ereignis auf keine bestimmten Taste zuordnen kann- oder doch?

Über eine Hilfe wäre ich sehr dankbar, weil die Zeit drängt.. danke!
Liebe Grüße,
Sanjarok
Sanjarok ist offline   Mit Zitat antworten
Alt 11-01-2005, 23:15   #2 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
hier mal meine lösung zu dem prob..

ActionScript:
  1. obj={};
  2.  
  3. obj.onKeyUp = function(){
  4.     trace('done');
  5.     this.onKeyDown = this.setKeyDown;
  6. }
  7. obj.setKeyDown = function(){
  8.         //als bsp die nach-oben taste!
  9.     if(Key.isDown(Key.UP)){
  10.         trace('oha');
  11.         this.onKeyDown = null;
  12.     }
  13. }
  14. obj.onKeyDown = obj.setKeyDown;
  15.  
  16. // object an die Keyklasse übergeben!
  17. Key.addListener(obj);


denke, dass sollte dir helfen..oderß!


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 11-01-2005, 23:32   #3 (permalink)
Neuer User
 
Benutzerbild von Sanjarok
 
Registriert seit: Aug 2003
Beiträge: 62
es funktioniert- vielen Dank!!
Sanjarok ist offline   Mit Zitat antworten
Alt 12-01-2005, 10:04   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
hallo,
habe ein ähnliches problem, oder anders gesagt, bis her habe ich immer eine schaltfläche erstellt und dann sowas definiert:
PHP-Code:
on (keyPress "<Right>") {
    
mc.play();
}
on (keyPress "<Down>") {
    
mc.gotoAndStop(_currentframe+60);
}
on (keyPress "<Left>") {
    
mc.gotoAndStop(_currentframe-60);

jetzt wollte ich das ganze mit eine keylistener machen, und hab da irgendwie probleme mit. vieleicht liegt das daran, das ich immer wieder ein und das selbe script wild im meinen mc's kopiere, je nach dem wo ich es eben gerade benötige! das komische daran ist, dass es ab und zu funktioniert und manchmal nicht.
PHP-Code:
keyListener = new Object();
keyListener.onKeyUp = function () {
      if (
Key.getCode() == 39){
        
mc.play();
    }
    if (
Key.getCode() == 37){
    
mc.gotoAndStop(_currentframe-60);
    }
    
sub=0;
    if (
Key.getCode() == 40){
    
mc.gotoAndStop(_currentframe+60);
    }
    
Key.removeListener (keyListener)
}
Key.addListener(keyListener); 
für euere hilfe bedanke ich mich schon jetzt
hans
schmalhans ist offline   Mit Zitat antworten
Alt 12-01-2005, 10:21   #5 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
wenn du den listener wieder entfernst, nachdem eine taste gedrückt wurde,
kann es nur einmal fiunktionieren.. !?

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 12-01-2005, 10:35   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
hallo,
den listener zu löschen mache ich deswegen, weil paar frames weiter vorne oder so das gleiche script wieder ist und dann eben mit anderen parametern.

wenn ich das "Key.removeListener (keyListener);" nicht setze, macht mein film die grätsche und das navigieren mit den pfeiltasten funktioniert dann nur einmal.

irgendwie check ich das noch nicht so ganz, bitte um hilfe.
hans
schmalhans 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 18:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele