Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-03-2008, 14:46   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: Berlin
Beiträge: 138
Variable wird nicht zurückgesetzt

Hallo Leute,

vielleicht kann mir jemand hier irgendwie helfen.

Habe hier ein Spiel, wo ich Chips Flächen zuordne, wobei in einem Bereich nur zwei Chips zugeordnet werden dürfen. Da habe ich das Problem, wenn ich in dem Bereich die zugeordneten Chips die Zuordnung wieder ändern möchte, wird die Anzahl erhöht (Obwohl bei den zugeordneten es bei der Anzahl von zwei bleiben muss.).

habe hier dieses Script:
ActionScript:
  1. Array.prototype.getCount = function(arr) {
  2.   var anz=0;
  3.   var cSort2=0;
  4.   var arrNumRes1:Array = new Array();
  5.   var arrAnz:Array = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
  6.   var sTarg1:Number;
  7.   var sTarg2:Number;
  8.   var sList:String;
  9.  
  10.   var arrRes:Array = new Array();
  11.   for(result=[], i=0; i<this.length; i++) {
  12.     if(arr[i] && cSort2 <=2) {
  13.       arrRes[anz]=parseFloat(arr[i]); anz++;
  14.  //     trace("#############################\n");
  15.  //     trace('res: '+arr[i]+'/'+parseFloat(arr[i]));
  16.  //     trace("#############################\n>>>> cSort2(1): "+cSort2+"<<<<<\n#############################\n");
  17.       if(parseFloat(arr[i])>7) {
  18.         if(cSort2 != 2 && sTarg1 != i || sTarg2 != i) cSort2++;
  19.         i==sTarg1?trace('sTarg1 == arr[i]'):trace('sTarg1 != arr[i]');
  20.         if(cSort2==1)sTarg1 = i;if(cSort2==2)sTarg2 = i;
  21. //trace("#############################\n>>>> cSort2(2)/sTarg1/i: |||"+cSort2+"|||"+sTarg1+"/"+i+" sTarg2/i:"+sTarg2+"/"+i+"<<<<<\n#############################\n");
  22.     }
  23. //      trace("#############################\n");
  24.       result[result.length]=[i];
  25.     }else '';
  26.   }
  27. //  trace('getAnzahl: '+cSort2);
  28.   if(anz==this.length) {
  29.     arrRes     = arrRes.sort(Array.NUMERIC);
  30.     arrNumRes1 = arrRes;
  31.     arrNumRes1 = arrNumRes1.removeDoubles();
  32.     for(var z, z=0; z<arrRes.length; z++) {
  33. //      trace('hier ist Z: '+z+'/'+arrRes[9]);
  34.       for(var x, x=0; x<arrAnz.length; x++) {//<=parseFloat(arrRes[9])
  35.         trace('hier ist x: '+z);
  36.         if(parseFloat(arrRes[z])== x) {
  37.           arrAnz[x]=arrAnz[x]+1;
  38.           trace('arrAnz ++'+x);
  39.         }
  40.       }
  41.     }
  42.     sList = '';
  43.     for(var y, y=0; y<arrAnz.length; y++) {
  44.       if(arrAnz[y]!=0){
  45.         sList+=arrAnz[y]+"x   "+arrSortName[y].replace("\n",' ')+"\n";
  46.       }
  47.     }
  48.     _level0.listSort_mc._x = 500;
  49. //    trace('Liste: '+sList);
  50. //    trace('LISTE: '+arrRes+'/'+arrRes.removeDoubles()+'/'+arr.removeDoubles()+'/'+arrNumRes1+'/'+arrAnz);
  51.     _level0.listSort_mc.listSort1_txt.text = sList;
  52.     _level0.bDrag = false;
  53.   }
  54.   return result.length ? cSort2 : 0;
  55. }

ActionScript:
  1. arrCoins[1].onPress = function() {
  2.   this.swapDepths(20);
  3.   if(bDrag)this.startDrag(false);
  4. }
  5.  
  6. arrCoins[1].onRelease = function() {
  7.   trace("\n####################\n Target Coin 1: "+arrFields.getTarget(this)+"\n####################\n");
  8.   sTarget = arrFields.getTarget(this);
  9.   if(this.hitTest(arrFields[sTarget])) {
  10.  //   trace(this._x+'|'+this._y);
  11.     if(arrCoins.getCount(arrHitsNr)>= 2 && parseFloat(sTarget)>7) {
  12.       this._x = arrPosCoin[0][1];
  13.       this._y = arrPosCoin[1][1];
  14.       _level0.msg_mc._x = msgMc_posx2;
  15.       _level0.msg_mc._y = msgMc_posy2;
  16.     }
  17.     else {
  18.       this._x = arrPosFieldX[sTarget]+10;
  19.       this._y = arrPosFieldY[sTarget]+10;
  20.     }
  21.     arrHitsNr[1]=sTarget;
  22. //    trace('Coin 1 load:'+arrHitsNr[1]);
  23. //    trace('Coins :'+arrHitsNr[1]);
  24.     cont1_text = arHitNr.join('|');
  25.     arrTxt[sTarget].text = cont1_text;
  26.   }
  27.   else {
  28.     this._x = arrPosCoin[0][1];
  29.     this._y = arrPosCoin[1][1];
  30.     arrHitsNr[1]= null;
  31. //    trace('Coin 1 unloaded: '+arrHitsNr[1]);
  32.   }
  33.   arrNumFields = arrCoins.getCount(arrHitsNr);
  34.   this.stopDrag();
  35. }

Komme hier nicht weiter. Wäre schön, wenn mir jemand helfen kann.

Geändert von Reksio (05-03-2008 um 14:49 Uhr) Grund: Auskommentieren der Traces
Reksio 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 09:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele