Flash Abfrage mit Ausgabe von MCs

formmad

Mitglied
Hi...

ich bastele gerade an einer Flash Abfrage mit IF, möchte aber gerne eure Meinung dazu wissen.

Mein Code:
PHP:
	var a = _parent.ausgabe1.text;
	var b = _parent.ausgabe2.text;
	var c = _parent.ausgabe3.text;
	var d = _parent.ausgabe4.text;
	var e = _parent.ausgabe5.text;
	var f = _parent.ausgabe6.text;
	
	
	_root.up.gesamt = a+b+c+d+e+f;

	var gesamt = _root.up.gesamt;
	if ((gesamt == 311111) or (gesamt == 111111) or (gesamt == 111111)) {
	this._parent.up.kuehle1._visible = true;
	} else {
	this._parent.up.kuehle1._visible = false;
	}

	if ((gesamt == 311111) or (gesamt == 321111) or (gesamt == 331111)) {
	this._parent.up.kuehle2._visible = true;
	} else {
	this._parent.up.kuehle2._visible = false;
	}

	if ((gesamt == 311211) or (gesamt == 111311) or (gesamt == 121111)) {
	this._parent.up.kuehle3._visible = true;
	} else {
	this._parent.up.kuehle3._visible = false;
	}

	if ((gesamt == 311211) or (gesamt == 111311) or (gesamt == 121111)) {
	this._parent.up.kuehle4._visible = true;
	} else {
	this._parent.up.kuehle4._visible = false;
	}

Ich habe 6 Schieberegler, welche Zahlen ausgeben in ihrer bestimmten Stellung. Jeder Regler kann eine Zahl zwischen 1 bis 4 ausgeben. Ich habe die Zahlen dann zusammenstellen lassen in der Variable "gesamt".

Nun zur Abfrage: Hier die Möglichkeiten der einzelnen Kuehle

Kuehle 1 = 3,1 | 1,2,3 | 1 | 1 | 1 | 1,2,3
Kuehle 2 = 3 | 1,2,3 | 1 | 1 | 1 | 1,2,3
Kuehle 3 = 3,4 | 1,2,3 | 1,2,3 | 1 | 1 | 1,2,3
Kuehle 4 = 3,4 | 1,2,3 | 1,2,3 | 1 | 1,2 | 1,2,3

Ich habe oben im AS natürlich bei "if ((gesamt == 311211) or (gesamt == 111311) or (gesamt == 121111)) {" nicht alle Möglichkeiten hingeschrieben.

Wisst Ihr einen Elleganten Weg die Parameter der Tabelle abzufragen?

Gruss
 
Zuletzt bearbeitet:
Das geht sicher, aber mir ist nicht ganz klar, was das ganze soll. Könntest Du die Datei (oder einen Dummy) mal posten?

EDIT:

thx für die Datei. Ich verstehe nun, was Du machen willst, nur eine bestimmte Gesetzmäßigkeit für den Zusammenhang kann ich nicht wirklich entdecken.

Was mir auffällt ist, dass Du in Deinem Posting 6 Regler abfragst, in der Datei aber 7 hast. Na ja, angenommen, Du hast 6 Regler (und damit Textfelder), würde ich wohl so herangehen:
Code:
// erstmal Zahlen statt Strings verwenden
var a = parseInt(_parent.ausgabe1.text, 10);
var b = parseInt(_parent.ausgabe2.text, 10);
var c = parseInt(_parent.ausgabe3.text, 10);
var d = parseInt(_parent.ausgabe4.text, 10);
var e = parseInt(_parent.ausgabe5.text, 10);
var f = parseInt(_parent.ausgabe6.text, 10);

// und dann einfach mit Logischen Operatoren testen:
kuehle1._visible = (a == 3 || a == 1) && (b < 4) && (c == 1) && (d == 1) && (e == 1) && (f < 4);
kuehle2._visible = (a == 3) && (b < 4) && (c == 1) && (d == 1) && (e == 1) && (f < 4);
kuehle3._visible = (a == 3 || a == 4) && (b < 4) && (c < 4) && (d == 1) && (e == 1) && (f < 4);

// ... usw. hier nur am Beispiel der ersten 3

Gruß
.
 
Zuletzt bearbeitet:
Hi Datic.

Super Sache Danke nochmals....

Noch einen Zusatz:

habe habe jetzt insgesamt 30 kuehle (kuehle1, kuehle2, usw. ) welche mit unterschiedlichen Parametern sichtbar werden.

In der FLA sind die kuehle texte jetzt in dem haupt MC untereinander angeordnet.
Nun im Falle das eins nicht angezeigt wird, weil die Parameter nicht zutreffen, sollen die anderen darunter nachrücken, so dass keine Lücke dazwischen ensteht, die kuehle MCs behinalten Bilder und Text.

Gruß
 
Hi,

versuchs mal so:
PHP:
var kuehle_amt 30; // Maximalanzahl
var y = 50; // Position für den ersten kuehle-MC
for (var i=1; i<=kuehle_amt; i++) {
    if (this["kuehle" + i]._visible) {
        this["kuehle" + i]._y = y;
        y += 20; // y-Abstand der MCs
    }
}
(statt this musst Du ggf. den Pfad zu den MCs verwenden, z.B. _parent.panel["kuehle" + i] )

Gruß
.
 
Hi...

ich habe es jetzt so verwendet...

PHP:
on (release) {
	this._parent.up.produkte.kuehle1._visible = false;
	this._parent.up.produkte.kuehle2._visible = false;
	this._parent.up.produkte.kuehle3._visible = false;
	this._parent.up.produkte.kuehle4._visible = false;
	
	_root.up._visible = true;
	// Variablen
	var a = parseInt(_parent.ausgabe1.text, 10);
	var b = parseInt(_parent.ausgabe2.text, 10);
	var c = parseInt(_parent.ausgabe3.text, 10);
	var d = parseInt(_parent.ausgabe4.text, 10);
	var e = parseInt(_parent.ausgabe5.text, 10);
	var f = parseInt(_parent.ausgabe6.text, 10);
	
	this._parent.up.produkte.kuehle1._visible = (a == 3 || a == 1) && (b < 4) && (c == 1) && (d == 1) && (e == 1) && (f < 4);
	this._parent.up.produkte.kuehle2._visible = (a == 3) && (b < 4) && (c == 1) && (d == 1) && (e == 1) && (f < 4);
	this._parent.up.produkte.kuehle3._visible = (a == 3 || a == 4) && (b < 4) && (c < 4) && (d == 1) && (e == 1) && (f < 4);
	this._parent.up.produkte.kuehle4._visible = (a == 3 || a == 4) && (b < 4) && (c < 4) && (d == 1) && (e < 3) && (f < 4);
	
	var kuehle_amt = 4; // Maximalanzahl 
	var y = 0; // Position für den ersten kuehle-MC 
	
	for (var i=1; i<=kuehle_amt; i++) { 
	    if (this._parent.up.produkte["kuehle" + i]._visible == true) { 
	        this._parent.up.produkte["kuehle" + i]._y = y; 
	        y += 130; // y-Abstand der MCs 
	    } 
	}	
	
}

Aber nichts tut sich...

Gruß
 
Dann schau docch mal, woran es liegt, indem Du ein paar trace-Aktionen dazwischen setzt:
PHP:
for (var i=1; i<=kuehle_amt; i++) { 
    trace("y: " + y);
    trace(this._parent.up.produkte["kuehle" + i]);
;-]

Gruß
.
 
Hi...

Also ich weiß nicht. Aber nun tuts. Natürlich ohne trace.

Aber trace ist ne nette Funktion.

Danke Datic. :)

Gruß
 
Zurück