art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 21.12.2005, 13:57   #1
TP-Junior
 
Registriert seit: Sep 2004
KruegerFT macht alles soweit korrekt

onKeyDown = function() geht nicht!!!


Liebes Forum,

ich habe folgendes Anfänger-Problem:

ich habe einen MC mit Instanznamen "x" auf der Bühne.

Im ersten Bild des Hauptfilms schreib ich jetzt folgendes:

x.onKeyDown = function()
{
trace("gedrückt");
}

Ich hatte jetzt gedacht, dass wenn ich den Film teste und ich eine Taste drücke, "gedrückt" im Augabefenster erscheinen müsste. Passiert aber nicht. Aber warum bloß nicht?? Hoffentlich könnt ihr helfen...

Greetings.
KruegerFT ist offline   Mit Zitat antworten


Alt 22.12.2005, 18:35   #2
TP-Supporter
 
Benutzerbild von 23012
 
Registriert seit: Jan 2003
Ort: NRW
23012 macht sich hier sehr viel Mühe
Hallo,
weiss nicht ob das hilft:
Wenn ich dies
onClipEvent (keyDown) {
trace("holla!")
}
direkt auf den MC schreibe, macht er's.
Gruss
23012
__________________
[TUTORIAL] Nahtlose Muster erstellen in Photoshop
23012 ist offline   Mit Zitat antworten
Alt 22.12.2005, 18:39   #3
TP-Junior
 
Registriert seit: Sep 2004
KruegerFT macht alles soweit korrekt
danke für deine Antwort. Genau das ist ja, was mich so wundert. Mit onClipEvent (keyDown) geht's, aber mit onKeyDown geht's nicht. Dabei sollte das doch funktionieren...

Ich versteh's einfach nicht...
KruegerFT ist offline   Mit Zitat antworten
Alt 22.12.2005, 19:04   #4
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo

wenn du nur eine Tastenfunktion abfragen willst, brauchst du keinen MC
Guck dir das mal an
PHP-Code:
meinListener = new Object();
meinListener.onKeyDown = function () {
  
trace ("Sie haben eine Taste gedrückt.");
}
meinListener.onKeyUp = function () {
  
trace ("Sie haben eine Taste losgelassen.");
}
Key.addListener(meinListener); 
Mehr dazu findest du unter addListener in der Hilfe
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist gerade online   Mit Zitat antworten
Alt 22.12.2005, 19:10   #5
TP-Junior
 
Registriert seit: Sep 2004
KruegerFT macht alles soweit korrekt
danke, mit Listenern geht's natürlich auch... Mein Problem ist einfach, das irgendwie mein Weltbild daran zerbricht, dass z.B.
mc.onEnterFrame = function() oder mc.onMouseDown= function() usw. funktionieren aber mc.onKeyDown= function() nicht. Obwohl die Doku sagt, dass das gehen müsste. W A R U M N U R?!! AHHHH!! ;-)
KruegerFT ist offline   Mit Zitat antworten
Alt 22.12.2005, 19:23   #6
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Geht ja auch, du mußt nur den Fokus daraus setzen.
Dafür guckt man einmal kurz in die Hilfe
Zitat:
MovieClip.onKeyDown
Verfügbarkeit
Flash Player 6.

Verwendung
mein_mc.onKeyDown = function() {
// Anweisungen hier einfügen
}

Parameter
Keine.

Rückgaben
Keine.

Beschreibung
Ereignisprozedur; wird aufgerufen, wenn ein Movieclip den Eingabefokus besitzt und eine Taste gedrückt wird. Die Ereignisprozedur onKeyDown wird ohne Parameter aufgerufen. Mit Hilfe der Methoden Key.getAscii() und Key.getCode() lässt sich ermitteln, welche Taste gedrückt wurde. Sie müssen eine Funktion definieren, die beim Aufruf der Ereignisprozedur ausgeführt wird.

Die Ereignisprozedur onKeyDown funktioniert nur, wenn der Eingabefokus des Movieclips aktiviert ist. Zunächst muss für den Movieclip die Eigenschaft focusEnabled auf true gesetzt werden. Anschließend muss der Movieclip den Fokus erhalten. Sie können dazu entweder Selection.setFocus() verwenden oder die Tabulatortaste so belegen, dass damit zum Movieclip gewechselt werden kann.

Wenn Sie Selection.setFocus() verwenden, muss die Pfadangabe für den Movieclip an Selection.setFocus() übergeben werden. Nachdem die Maus bewegt wurde, können wieder andere Elemente den Fokus erhalten.

Beispiel
Das folgende Beispiel definiert eine Funktion für die Methode onKeyDown(), die eine trace()-Aktion an das Ausgabe-Bedienfeld sendet:

mein_mc.onKeyDown = function () {
trace ("onKeyDown aufgerufen");
};

Im folgenden Beispiel wird der Eingabefokus gesetzt:

MovieClip.focusEnabled = true;
Selection.setFocus(MovieClip);
Ich kann dir wirklich nur dazu sagen, mache die F1 Taste zu deiner Lieblingstaste, sie ist auch meine
Noch ein Tipp wenn du im AS-Editor das Wort markierst und dann F1 drückst, kommst du in der Hilfe direkt zu den Befehl
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist gerade online   Mit Zitat antworten
Alt 22.12.2005, 22:57   #7
TP-Junior
 
Registriert seit: Sep 2004
KruegerFT macht alles soweit korrekt
Ja danke für den Hinweis. Die Hilfe hatte ich natürlich schon gelesen (ich mag F1 auch... ). Der Haken ist, das genau das NICHT funktioniert.

Mein MovieClip heißt mc und ist im Hauptfilm eingebettet. Im ersten Bild der HZL schreibe ich:

mc.focusEnabled = true;
Selection.setFocus(mc);

mc.onKeyDown = function()
{
trace("Hallo");
}


Dann teste ich den Film, drücke eine Taste und nichts passiert...
Was mach ich da bloß falsch??!!
KruegerFT ist offline   Mit Zitat antworten
Alt 23.12.2005, 14:37   #8
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Sofort nach dem Veröffentlichen wird es gehen, aber mit der ersten Mousebewegung verlierst du den Fokus.
Lösung (hab es mal ein wenig kommentiert.):
PHP-Code:
mc.onEnterFrame = function(){
    
//Eingabefokus aktivieren
    
mc.focusEnabled true;
    
//Fokusumrandung ausschalten
    
mc._focusrect false;
    
//Fokus setzen
    
Selection.setFocus(mc);
}

mc.onKeyDown = function(){
    
trace("Hallo");

__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 23.12.2005, 14:45   #9
TP-Junior
 
Registriert seit: Sep 2004
KruegerFT macht alles soweit korrekt
Ahhh.... Ohhh.... Vielen Dank, das funktioniert.

Ich wusste nicht, dass der Tastaturfokus von der Maus abhängt.

Coole Sache, jetzt kann ich wieder ruhig schlafen.

Danke, danke, danke!!!
KruegerFT ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash
onKeyDown = function() geht nicht!!! onKeyDown = function() geht nicht!!!
« [Flash 8] Bild einblenden per AS | Grafik mit Pfaden importieren, aber wie? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:21 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67