Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-08-2004, 14:19   #1 (permalink)
Neuer User
 
Benutzerbild von Soul_Edge
 
Registriert seit: Oct 2003
Beiträge: 75
removeListener!

Hi leute!

Hab ein ziemliches problem, und hän da schon einige stunden dran, bekomm es aber nich hin.

Ich hab ein objekt, das man auf dem schirm verschieben kann. Aber nur dann wenn man zusätzlich noch die shift-taste drückt. Geht beim ersten mal super, kann das obj. erst verschieben wenn ich die shift-taste drück. Aber wenn ich die shift-taste loslasse, soll ja das objekt nicht mehr verschiebbar sein. Aber ist es trotzdem noch.

hier mein code:

PHP-Code:
tastatur = new Object();
tastatur.onKeyDown = function() {
    if (
Key.getCode() == 16) {
        
_level0.con_icon.icon1.onPress = function() {
            
startDrag(_level0.con_icon.icon1);
        };
        
_level0.con_icon.icon1.onRelease = function() {
            
stopDrag();
        };
    }
};
Key.addListener(tastatur);
tastatur.onKeyUp = function() {
    if (
Key.getCode() == 16) {
        
Key.removeListener(tastatur);
    }

ich hoffe ihr könnt helfen.

thx.
Soul_Edge ist offline   Mit Zitat antworten
Alt 03-08-2004, 14:34   #2 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
PHP-Code:

tastatur 
= new Object(); 
tastatur.onKeyDown = function() { 
    if (
Key.getCode() == 16) { 
        
_level0.con_icon.icon1.onPress = function() { 
            
startDrag(_level0.con_icon.icon1); 
        }; 
        
_level0.con_icon.icon1.onRelease = function() { 
            
stopDrag(); 
        }; 
    } 
}; 

tastatur.onKeyUp = function() { 
    if (
Key.getCode() == 16) { 
        
// Key.removeListener(tastatur); FALSCH: dann kannst du ja nicht mehr
        // auf tastatur-erignisse reagieren.
        // was du willst ist doch :
        
_level0.con_icon.icon1.stopDrag();
        
_level0.con_icon.icon1.onRelease undefined;
        
_level0.con_icon.icon1.onPress undefined;  
    } 
}


Key.addListener(tastatur); 

habs zwar nicht getestet und es gibt sicherlich vielleicht noch elegantere methoden aber so müßtet funzen.
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 03-08-2004, 14:36   #3 (permalink)
Neuer User
 
Benutzerbild von Soul_Edge
 
Registriert seit: Oct 2003
Beiträge: 75
supa funzt thx .
Aber wofür ist denn dann removeListener(); zuständig?

hmm mir ist aufgefallen das nach deiner methode ich aber keine onRelease abfrage mehr stellen kann. :/

gibts da nich ne andere möglichkeit?

Geändert von Soul_Edge (03-08-2004 um 14:45 Uhr)
Soul_Edge ist offline   Mit Zitat antworten
Alt 03-08-2004, 15:23   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
  1. du brauchst kein eigenes listener-objekt, um den tastendruck zu überwachen...das geht auch mit dem mc selbst
  2. onEvents löscht man und setzt sie nicht auf undefined, denn da sind se immer noch im speicher und können auch wieder erstellt werden...
  3. kann man das wie unten auch viel einfacher regeln:
ActionScript:
  1. deinMC.onKeyDown = function() {
  2.     if (Key.isDown(16)) {
  3.      this.onPress = function(){
  4.     startDrag(this);
  5.   }
  6.   this.onRelease = function(){
  7.    stopDrag();
  8.   }
  9.     }
  10. };
  11. deinMC.onKeyUp = function() {
  12.        delete this.onPress;
  13.     delete this.onRelease;
  14. };
  15.  
  16. Key.addListener(deinMC);





greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 04-08-2004, 12:26   #5 (permalink)
Neuer User
 
Benutzerbild von Soul_Edge
 
Registriert seit: Oct 2003
Beiträge: 75
big thx meister
Soul_Edge 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 03:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele