Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-04-2004, 09:40   #1 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
2 strings miteinander vergleichen

hi,

habe 2 zahlenstrings (von 1 bis 6) die jeweils in einem mc generiert werden.
diese beiden strings werden einmal an die var outcontainer, und einmal an die var outbox die in der function auswerten stehen übergeben.
der string in outcontainer sieht immer so aus "123456", der string in outbox kann z.b. so aussehen: 453216.
jetzt möcht ich die beiden strings vergleichen, d.h. es sollen jeweils die einzlnen zahlenpositionen verglichen werden.
bsp.: pos1 pos2 pos3 pos4 pos5 pos6
1 2 3 4 5 6
2 5 1 4 3 6
f f f r f r

danach soll ein if-/else if-abfrage kommen, in der die einzelnen position abgefragt werden und entsprechend eine meldung ausgibt.


script:
-------

function auswerten() {
outcontainer = "";
outbox = "";
for (i=1; i<=_root["chip_"+i]; i++) {
with (_root["chip_"+i]){

outcontainer += container;
outbox += box;

trace ("chips: "+outcontainer);
trace ("target: "+outbox);


if (outbox == "123456" ){
for(i=1; i<=_root["chip_"+i]; i++){
_root["chip_"+i].grau._visible = 0;
_root["chip_"+i].gruen._visible = 1;
}
}
}
}

}


gruss sven
xlive ist offline   Mit Zitat antworten
Alt 29-04-2004, 10:32   #2 (permalink)
...
 
Registriert seit: Oct 2002
Ort: Nürnberg
Beiträge: 3.611
mal schnell einen kl. array.prototypen gebaut:

ActionScript:
  1. Array.prototype.compare = function(sourceArray:Array) {
  2.     var t:Number, retArr:Array = new Array();
  3.     for (t=0; t<sourceArray.length; t++) {
  4.         retArr.push(this[t] == sourceArray[t]);
  5.     }
  6.     return retArr;
  7. };
  8. // TEST
  9. var str1:String = "123456";
  10. var str2:String = "251436";
  11. var arr1:Array = str1.split("");
  12. var arr2:Array = str2.split("");
  13. var compResult = arr1.compare(arr2);
  14. trace(compResult);// = false,false,false,true,false,true
  15.  

bei Fragen fragen
thorben.schmitt ist offline   Mit Zitat antworten
Alt 29-04-2004, 11:17   #3 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
hi xlive...hatte dir ja auch schon im anderen forum geantwortet gehabt...

ActionScript:
  1. String.prototype.comparePos= function(str){
  2.          this = this.split('');
  3.          str = str.split('');
  4.           for(var i=0;i<this.length;i++){
  5.                 if(this[i] == str[i]){ trace('Position [Index '+i+'] stimmt überein!\nWert ist : '+this[i]+' | '+str[i]+'\n______________\n');
  6.                 }else {trace('Position [Index '+i+'] stimmt NICHT überein!\nWert ist : '+this[i]+' | '+str[i]+'\n______________\n');}
  7.           }
  8. }
  9.  
  10. str1 ='123456';
  11. str2 ='353416';
  12.  
  13. str1.comparePos(str2);



greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 29-04-2004, 19:12   #4 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
hi,

versuche nun das ganze in mit meiner function rgb.color zu verbinden.
habe also mein 6 mc's (chip_1, chip_2, usw.), jetzt soll bei if (this[i] == str[i]) sich die farbe des entsprechenden chips verändern. dazu soll die function green aufgerufen werden, die die farbinstanz in dem chip_+? ändert.
wie kann ich die function ansprechen, dass sich nur die "richtigen" chips gruen färben?

ActionScript:
  1. function green(whichOne) {
  2.    for(i=1; i<=6; i++){
  3.         with (whichOne) {
  4.         colorGreen = new Color(whichOne.rgb);
  5.         colorGreen.setRGB(0x99CC00);   
  6.         }
  7.       }
  8. }


gruss sven
xlive ist offline   Mit Zitat antworten
Alt 29-04-2004, 19:43   #5 (permalink)
...
 
Registriert seit: Oct 2002
Ort: Nürnberg
Beiträge: 3.611
bspl:
ActionScript:
  1. Array.prototype.compare = function(sourceArray:Array) {
  2.         var t:Number, retArr:Array = new Array();
  3.         for (t=0; t<sourceArray.length; t++) {
  4.                 retArr.push(this[t] == sourceArray[t]);
  5.         }
  6.         return retArr;
  7. };
  8. var str1:String = "123456";
  9. var str2:String = "251436";
  10. var arr1:Array = str1.split("");
  11. var arr2:Array = str2.split("");
  12. var compResult = arr1.compare(arr2);
  13. for(var z=0; z<compResult.length; z++){
  14.     compResult[z] ? new Color(this["chip_"+z]).setRGB("0x99CC00") : null;
  15. }

thorben.schmitt 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 20:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele