Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-09-2005, 10:38   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 65
Zeichen zählen etc.

Hallo,

da ich letztens so nette Hilfe bekommen habe, hoffe ich dass mir diesmal auch jemand helfen kann. Folgende Situation:

Ich habe ein Eingabefeld(count) und 2 dynamische Textfelder(ausgabe+ascii)

So nun zählt das Skript die Zeichen die eingegeben wurden in count und gibt diese in ausgabe aus. Daraufhin checkt es noch welcher Buchstabe eingegeben wurde und gibt diesem Buchstaben einen Wert (z.B. 0.2). In dem Feld ascii gibt er nun die Summe aus diesen Werten ein (z.B. A=2, B=3 würde bei ascii 5 stehen).
Funzt auch alles super nur das Prob ist wenn jemand einen Buchstaben entfernt weil er sich vertippt hat oder sowas dann zieht er die Werte nicht wieder ab. Ist zwar logisch weil ich nirgendwo festgelegt habe dass er das tun soll nur ich hab keine Ahnung wie ich das lösen soll. Weil wenn ich nämlich der BACKSPACE Taste sage lösche wert dann weiss diese zwar den letzten Wert aber nicht den davor. Heisst wenn ich im Textfeld ABC stehen habe und die Summe dieser wäre zum Beispiel 5 dann auf BACKSPACE klicke zieht der nur den Wert von C ab aber nicht den von B und A weil er die ja nicht mehr kennt...

Für alle die es nicht ganz verstanden haben hier der Code auf einem MC

ActionScript:
  1. onClipEvent (keyDown){
  2.   if(Key.getCode() == 71) { // TASTE G
  3. i= i+0.5
  4.  
  5.   } else if(Key.getCode() == 82) { // TASTE R
  6. i= i+0.7
  7.  
  8.   }  else if(Key.getCode() == 69) { // TASTE E
  9. i= i+0.6
  10.  
  11.   }
  12.   else if(Key.getCode() == 78) { // TASTE N
  13. i= i+0.4
  14.  
  15.   }
  16. }
  17.  
  18. onClipEvent(enterFrame) {
  19. //trace (_root.count.length);
  20. _root.ausgabe.text=_root.count.length+" Zeichen" // check bei enter frame wieviele zeichen eingegeben wurden //
  21. //_root.ascii.text= Key.getCode(); // gibt ascii code der letzten gedrückten zeichen wieder
  22.  
  23. updateAfterEvent();
  24. }

Ich bedanke mich schonmal für Ideen
Das .fla liegt hier: www.green-eye.de/soundkonfi/testcount.fla

gruß
AmeKi
AmeKi ist offline   Mit Zitat antworten
Alt 12-09-2005, 12:10   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Am einfachsten durchläufst du bei jeder Änderung den ganzen Eingabestring und rechnest die Summe aus.

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 12-09-2005, 13:40   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 65
ok ist eine Idee und wie zähl ich nun die einzelnen buchstaben aus dem Textfeld?!?

Geändert von AmeKi (12-09-2005 um 13:42 Uhr)
AmeKi ist offline   Mit Zitat antworten
Alt 12-09-2005, 13:57   #4 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Schau dir mal String.charAt an, damit kannst du auf einzelne Buchstaben eines Strings zugreifen. Oder du splittest den String komplett in ein Array mit meinStringAlsArray = meinString.split("");

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 12-09-2005, 15:05   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 65
hmmm die FUnktion ist gut nur krieg ich das trotzdem irgendwie nicht hin. Hab jetzt einiges probiert aber es funktioniert noch nicht so ganz. Ich krieg das nicht hin dass der mir im Textfeld all a's oder b's etc zählt. Ich hab das zwar jetzt so dass der den letzten Buchstaben sich merkt aber wenn man schnell was eingibt und dann schnell wieder löscht dann kommt Flash da sehr durcheinander...

Hast du vielleicht Zeit/Lust mir ein kleines fla zu basteln mit einem Beispiel?
Weil so wie es jetzt ist ist es nicht wirklich gut...

wahrscheinlich ist es ganz einfach und ich komm da nicht drauf *grml*
AmeKi ist offline   Mit Zitat antworten
Alt 12-09-2005, 15:41   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Hier mal nur der Check auf den Buchstaben "a":
ActionScript:
  1. this.der_txt.onChanged = function() {
  2.     var as = 0;
  3.     for (var x = 0; x<this.text.length; x++) {
  4.         if (this.text.charAt(x) == "a") {
  5.             as++;
  6.         }
  7.         trace("Im Text sind "+as+" as!")
  8.     }
  9. };
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 12-09-2005, 15:46   #7 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Klar, kein Problem. Einfach einen neuen Film aufmachen und das folgende Script in den ersten Frame kopieren:

ActionScript:
  1. createTextField("tfInput", 0, 0, 0, 100, 20);
  2. createTextField("tfLength", 1, 0, 25, 100, 20);
  3. createTextField("tfSum", 2, 0, 50, 100, 20);
  4.  
  5. tfInput.border = true;
  6. tfInput.type = "input";
  7. tfLength.border = true;
  8. tfSum.border = true;
  9.  
  10. tfLength.update = function( text){
  11.     this.text = text.length + " Zeichen";
  12. }
  13.  
  14. tfSum.update = function( text){
  15.     var sum = 0;
  16.     for( var i=0; i<text.length; i++){
  17.         var ch = text.charAt(i);
  18.         if(ch == "G") {
  19.           sum += 0.5;
  20.         } else if(ch == "R") {
  21.           sum += 0.7;
  22.         } else if(ch == "E") {
  23.           sum += 0.6;
  24.         } else if(ch == "N") {
  25.           sum += 0.4;
  26.         }
  27.     }
  28.     this.text = sum;
  29. }
  30.  
  31. tfInput.onChanged = function(){
  32.     tfLength.update( this.text);
  33.     tfSum.update( this.text);
  34. }

Das musst du jetzt nur noch auf deine Fla anpassen.
Gemein, nicht wahr?


mfg. r

Geändert von bokel (12-09-2005 um 15:48 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 13-09-2005, 07:35   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 65
SUPER vielen Dank euch Beiden für die Hilfe es funktioniert super...

Das mit dem anpassen hat wunderbar geklappt ist ja nich das Problem gewesen
AmeKi ist offline   Mit Zitat antworten
Alt 13-09-2005, 12:05   #9 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Super, dass es jetzt klappt,
mfg. r
bokel 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 15:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele