Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-08-2004, 13:01   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Question Key.isDown mit CTRL+C, CTRL+V & Co

Hiho,

ich habe ein merkwürdiges Verhalten der Funktion Key.isDown bei mir (Version: Flash MX).

Ich will in einem Script mehrere Tasten abfragen, die man mit CTRL zusammen drücken kann (die üblichen Verdächtigen: CTRL+C, CTRL+X, CTRL+V, ...).

Folgendes Script funktioniert jedoch nicht:
Code:
var obj_ControlKey = new Object();

obj_ControlKey.onKeyDown = function() {
	if (Key.isDown(Key.CONTROL) && Key.isDown(67)) {
		//STRG-C
	}
//[...]
}

Key.addListener(obj_ControlKey);
Nach einigen Tests habe ich festgestellt, das Key.isDown(67) (67 = "V") false zurückgibt, wenn gleichzeitig die CTRL-Taste gedrückt wird. Der Tracer bekommt den Druck auf die zweite Taste gar nicht mit. Das gleiche gilt für die Tasten A,R,X und C, für alle anderen Kombinationen (z.B. CTRL+U o.ä.) funktioniert das tadellos!?

Da das die typischen Kombinationen für Kopier-Aktionen sind, frage ich mich, ob irgendein Teil von Flash diese Kombis quasi vor mir abfängt?
Hat da jemand Erfahrung oder ne Idee? help
Agamemnon74 ist offline   Mit Zitat antworten
Alt 18-08-2004, 13:08   #2 (permalink)
Supermassive
 
Benutzerbild von elysian
 
Registriert seit: Aug 2004
Ort: Frankfurt, Bornheim
Beiträge: 861
da
könnte mir vorstellen, dass das für die von dir angesprochenen kombinationen auch gilt.. probier' mal im browser.

greetz, elysian.
__________________
Personal » amenity*blogging » elysian.de » Flexpertise - Enterprise Flex Collaboration
Networks » Xing » ColdFusion Community
Everything Cairngorm »
cairngormdocs.org
elysian ist offline   Mit Zitat antworten
Alt 18-08-2004, 13:16   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Danke für den Tipp, aber das funktioniert leider weder in der Vorschau, noch als SWF im IE, noch als SWF im Flashplayer oder gar als EXE per Flashstudio Pro v2... alles schon probiert

Wäre nett wenn andere das auch mal austesten könnten, einfach ein leeres Textfeld mit Namen txt_test auf die Bühne und folgenden Code:
Code:
keyObj = new Object(); 


keyObj.onKeyDown = function () { 
  keyFunc(Key.getCode()); 
} 

Key.addListener(keyObj); 

keyFunc = function(val){ 
    txt_test.text = val;
}
Bei STRG gibt er richtig 17 zurück ... und bei fast allen Kombis anschließend die Nummer der gedrückten Taste, außer eben bei den oben genannten...
Agamemnon74 ist offline   Mit Zitat antworten
Alt 18-08-2004, 13:24   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Über folgendes Script habe ich immerhin mittlerweile rausgefunden, dass sich beim Tracen getCode() für die meisten Tasten direkt beim KeyDown ändert, bei X,C und V aber erst nach dem KeyUp ... warum auch immer
(immer vorausgesetzt, man hält CTRL gedrückt)

Code:
onClipEvent (enterFrame) {
	trace(Key.isDown(Key.CONTROL) +"," + Key.getCode());
}

Geändert von Agamemnon74 (18-08-2004 um 13:25 Uhr)
Agamemnon74 ist offline   Mit Zitat antworten
Alt 19-08-2004, 08:28   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Kann niemand helfen?

Ich hätte ja schon gedacht, dass auch andere das Problem vor mir hatten ...
Agamemnon74 ist offline   Mit Zitat antworten
Alt 19-08-2004, 14:54   #6 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
du willst doppelte tastendrucks auffangen?

guggst du hier...

ActionScript:
  1. keyObj = new Object();
  2.  
  3. keyObj.onKeyUp = function(){
  4.          if(Key.isDown(Key.CONTROL) && Key.getCode()==67){
  5.              trace('YES = '+Key.getCode());
  6.          }
  7. }
  8.  
  9. Key.addListener(keyObj);


zufrieden?



greetz

kelor

Geändert von kelor (19-08-2004 um 14:55 Uhr)
kelor ist offline   Mit Zitat antworten
Alt 20-08-2004, 07:31   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 38
Es funktioniert *freu*

Vielen Dank!
Ich bin Dir auf ewig zu Dank verpflichtet

Irgendwie auch logisch mit dem onKeyUp... aber so ist das halt manchmal mit dem Wald und den Bäumen
Agamemnon74 ist offline   Mit Zitat antworten
Alt 20-08-2004, 14:10   #8 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
gerne geschehen...

ja, da muss man halt auf den zweiten warten, dass geht mit onKeyDown nicht ...

greetz

kelor
kelor 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