Flashhilfe.de - Flash Community

KeyboardEvent an Textfeld senden [Flash 10]

 


AntwortenRegistrieren Seite1  

EzioDiAuditore#1
Benutzerbild von EzioDiAuditore
Beiträge: 3
Registriert: Sep 2011

11.09.2011, 12:59

Hallo,

ich möchte/muss eine Art Bildschirmtastatur in Flash hinbekommen, die mit einem Textfeld interagiert.

Bei Buchstaben klappt das ganz gut, wenn ich die entsprechenden CLICK-Events nutze, um Buchstaben an den bestehenden Text anzuhängen.

Jetzt soll das Ding aber auch den Cursor nach links oder rechts bewegen können. Mein Ansatz: Ein entsprechendes KeyboardEvent generieren und an das TextFeld schicken. Aber irgendwie will das nicht. Mein Code:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// [...] team_txt gibt's schon und läuft auch
team_txt.type = TextFieldType.INPUT;
team_txt.selectable = true;
team_txt.text = "SPIELER 1";
team_txt.setSelection(0,team_txt.getLineLength(0));
stage.focus = team_txt;

// [...] die funktion wird vom entsprechenden Button gefeuert
function goLeft(){
     var evt:KeyboardEvent = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
     evt.keyCode = Keyboard.LEFT;
     evt.updateAfterEvent();
     team_txt.dispatchEvent(evt);
     stage.focus = team_txt;
}


Und es passiert? Nicht :-/ Muss ich ein anderes Event senden? Erstelle ich es falsch? Der Cursor bleibt ungestört da, wo er war. Das Komische:
Sende lasse ich mir das entsprechende Event erzeugt mit der Tasta anzeigen, ist das:
ActionScript:
1[KeyboardEvent type="keyDown" bubbles=true cancelable=false eventPhase=3 charCode=0 keyCode=37 keyLocation=0 ctrlKey=false altKey=false shiftKey=false]


Mein erzeugtes Event:
ActionScript:
1[KeyboardEvent type="keyDown" bubbles=true cancelable=false eventPhase=3 charCode=0 keyCode=37 keyLocation=0 ctrlKey=false altKey=false shiftKey=false]
Also quasi das gleiche und das target ist auch bei beiden team_txt...
Werbung
Beiträge: 0
Registriert: Feb 2016


RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

11.09.2011, 16:34

Hast Du Dir das mal außerhalb von Flash angeguckt, Standalone Flash Player zB.?
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
EzioDiAuditore#3
Benutzerbild von EzioDiAuditore
Beiträge: 3
Registriert: Sep 2011

Themenautor/in

11.09.2011, 17:39

Ja, direkt aus Flash heraus stimmt das mit dem Fokus ja eh nicht und man sieht keinen richtigen Cursor. Im Player bleibt das Ding einfach wo es ist, trotz KeyBoardEvent.
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

11.09.2011, 20:54

Aber für Eingabe-Textfelder brauchts keinen KeyListener, der Cursor bewegt sich sowieso vor und zurück ;-)
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Werbung
Beiträge: 0
Registriert: Feb 2016


springer#5
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

13.09.2011, 09:41

hi,
schau dir mal setSelection an...

ich würde das nicht über ein event lösen... das textfeld feuert zwar das event, ein "simulierter" left-klick ist das aber nicht. das geht auch nicht...
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Geändert von springer am 13.09.11 um 09:42 Uhr
EzioDiAuditore#6
Benutzerbild von EzioDiAuditore
Beiträge: 3
Registriert: Sep 2011

Themenautor/in

13.09.2011, 10:22

thx. setSelection war eigentlich die Variante, von der ich mit den Events wegkommen wollte, aber dann nehme ich es wohl einfach.

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de