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:
Array.prototype.getCount = function(arr) {
var anz=0;
var cSort2=0;
var arrNumRes1:Array = new Array();
var arrAnz:Array = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
var sTarg1:Number;
var sTarg2:Number;
var sList:String;
var arrRes:Array = new Array();
for(result=[], i=0; i<this.length; i++) {
if(arr[i] && cSort2 <=2) {
arrRes[anz]=parseFloat(arr[i]); anz++;
// trace("#############################\n");
// trace('res: '+arr[i]+'/'+parseFloat(arr[i]));
// trace("#############################\n>>>> cSort2(1): "+cSort2+"<<<<<\n#############################\n");
if(parseFloat(arr[i])>7) {
if(cSort2 != 2 && sTarg1 != i || sTarg2 != i) cSort2++;
i==sTarg1?trace('sTarg1 == arr[i]'):trace('sTarg1 != arr[i]');
if(cSort2==1)sTarg1 = i;if(cSort2==2)sTarg2 = i;
//trace("#############################\n>>>> cSort2(2)/sTarg1/i: |||"+cSort2+"|||"+sTarg1+"/"+i+" sTarg2/i:"+sTarg2+"/"+i+"<<<<<\n#############################\n");
}
// trace("#############################\n");
result[result.length]=[i];
}else '';
}
// trace('getAnzahl: '+cSort2);
if(anz==this.length) {
arrRes = arrRes.sort(Array.NUMERIC);
arrNumRes1 = arrRes;
arrNumRes1 = arrNumRes1.removeDoubles();
for(var z, z=0; z<arrRes.length; z++) {
// trace('hier ist Z: '+z+'/'+arrRes[9]);
for(var x, x=0; x<arrAnz.length; x++) {//<=parseFloat(arrRes[9])
trace('hier ist x: '+z);
if(parseFloat(arrRes[z])== x) {
arrAnz[x]=arrAnz[x]+1;
trace('arrAnz ++'+x);
}
}
}
sList = '';
for(var y, y=0; y<arrAnz.length; y++) {
if(arrAnz[y]!=0){
sList+=arrAnz[y]+"x "+arrSortName[y].replace("\n",' ')+"\n";
}
}
_level0.listSort_mc._x = 500;
// trace('Liste: '+sList);
// trace('LISTE: '+arrRes+'/'+arrRes.removeDoubles()+'/'+arr.removeDoubles()+'/'+arrNumRes1+'/'+arrAnz);
_level0.listSort_mc.listSort1_txt.text = sList;
_level0.bDrag = false;
}
return result.length ? cSort2 : 0;
}
ActionScript:
arrCoins[1].onPress = function() {
this.swapDepths(20);
if(bDrag)this.startDrag(false);
}
arrCoins[1].onRelease = function() {
trace("\n####################\n Target Coin 1: "+arrFields.getTarget(this)+"\n####################\n");
sTarget = arrFields.getTarget(this);
if(this.hitTest(arrFields[sTarget])) {
// trace(this._x+'|'+this._y);
if(arrCoins.getCount(arrHitsNr)>= 2 && parseFloat(sTarget)>7) {
this._x = arrPosCoin[0][1];
this._y = arrPosCoin[1][1];
_level0.msg_mc._x = msgMc_posx2;
_level0.msg_mc._y = msgMc_posy2;
}
else {
this._x = arrPosFieldX[sTarget]+10;
this._y = arrPosFieldY[sTarget]+10;
}
arrHitsNr[1]=sTarget;
// trace('Coin 1 load:'+arrHitsNr[1]);
// trace('Coins :'+arrHitsNr[1]);
cont1_text = arHitNr.join('|');
arrTxt[sTarget].text = cont1_text;
}
else {
this._x = arrPosCoin[0][1];
this._y = arrPosCoin[1][1];
arrHitsNr[1]= null;
// trace('Coin 1 unloaded: '+arrHitsNr[1]);
}
arrNumFields = arrCoins.getCount(arrHitsNr);
this.stopDrag();
}
Komme hier nicht weiter. Wäre schön, wenn mir jemand helfen kann.