Zurück   Flashforum > Flash > Flash erweitern > Komponenten und SmartClips

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-12-2008, 14:32   #1 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Array von Comboboxen,ist das möglich?

Hallo alle zusammen!
Ich hab ein kleines Logik Problem und komm nicht dahinter.
Ich habe in meinem Film einen 500x30 grauen Mc, der mir als Zeile dient.
Vor der "zeile" steht eine Combobox.
Wähle ich in der Combobox etwas aus wird eine Handlerfunction ausgelöst und in der zeile etwas ausgegeben.
Das klappt auch.
Ich brauch allerdings zwischen 5-15 Zeilen.
Nun möchte ich nicht 15 mal meine gesamten ComboboxCode (HandlerFunktion,RollOverComboItem etc...)
kopieren und ändern.

Code:
ladePiktos = function(piktoAnzahl,pName,pNameNeu,abstandX) {
	 _root.infobox.removeMovieClip();
  	_root.delPiktos(maxPiktos);
	for (i=0; i<piktoAnzahl; i++) {
		var ZeilenObj =_root.zeile1.attachMovie(pName,pNameNeu + i,i)
		ZeilenObj._x = 30 + abstandX * i;
		ZeilenObj._y = 20;
	}
}
	



machWas = function(komponente) {
  if (myCombo.getSelectedItem().label == "1 - fach") {
	  ladePiktos(myCombo1.getSelectedItem().data,"einer_mc","einer_mc_nr",80);
  }
  if (myCombo.getSelectedItem().label == "2 - fach") {
	  ladePiktos(myCombo1.getSelectedItem().data,"zweier_mc","zweier_mc_nr",110);
  }
  if (myCombo.getSelectedItem().label == "3 - fach") {
	  ladePiktos(myCombo1.getSelectedItem().data,"dreier_mc","dreier_mc_nr",140);
  }
  if (myCombo.getSelectedItem().label == "4 - fach") {
	  ladePiktos(myCombo1.getSelectedItem().data,"vierer_mc","vierer_mc_nr",150);
  }
  if (myCombo.getSelectedItem().label == "5 - fach") {
	  ladePiktos(myCombo1.getSelectedItem().data,"fuenfer_mc","fuenfer_mc_nr",180);
  }
  
} 

myCombo.setChangeHandler("machWas");
Der Code sollte dann irgendwie so lauten:
Code:
"myCombo"+i.setChangeHandler("machWas(i)");

Doch leider klappt das nicht. kann mir jenamd weiterhelfen?

Geändert von florist (16-12-2008 um 16:07 Uhr)
florist ist offline   Mit Zitat antworten
Alt 16-12-2008, 15:50   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Nutz mal die Sufu, change-Handler über Listener wurden hier schon häufiger gezeigt. Und die kann man dann als Einzelfunktion für mehrere CBs nutzen.
  Mit Zitat antworten
Alt 16-12-2008, 16:14   #3 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Danke. Ich hab die Artikel eben überflogen, aber es scheint mir nicht das richtige dabei zu sein.
Wie gesagt der HAndler funktioniert!
Es geht um die Komponente.
Ich glaub ich muss eine Art Array für Comboboxen erstellen.
also nicht für deren Inhalte sondern für die Instanzen Komponente .
Aber ich schau mir die empfohlenen Beiträge morgen früh nochmal genauer an, hab heute kein nerv mehr dafür :-)
Aber danke schonmal...
florist ist offline   Mit Zitat antworten
Alt 17-12-2008, 10:08   #4 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
ALso, hab mir die Beiträge jetzt angesehn und komme damit leider nicht zurecht.
Ich hab inzwischen versuchte meiner HAndler-Funtion parameter zu überegeben, doch das klappt nicht.
Irgendwie muss ich aus verschiedenen Comboboxen immer dieselbe handler-funktion aufrufen und dieser parameter übergeben?
Hast du keine Idee wie es funktionieren könnte?
florist ist offline   Mit Zitat antworten
Alt 17-12-2008, 12:16   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
PHP-Code:
var listenerObject:Object = new Object();
listenerObject.change = function(eventObject:Object) {
    
// Eigenen Code hier einfügen, bspw.
   
var selextedIndex _root.comboBoxInstance.selectedIndex;
   
trace("selextedIndex ="+selextedIndex);
   
trace("eventObject.target="+eventObject.target);
};
comboBoxInstance.addEventListener("change"listenerObject);
comboBoxInstance2.addEventListener("change"listenerObject); 
  Mit Zitat antworten
Alt 17-12-2008, 15:02   #6 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Hi Holger!
Leider funktioniert dein code nicht.
Ich benutze Flash MX, vielleicht liegt es daran.
"addEventListener" von
Code:
comboBox.addEventListener
wird im Code nicht gehighlighted.
Gibts das auch für MX?
florist ist offline   Mit Zitat antworten
Alt 18-12-2008, 13:35   #7 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Nachdem das Feedback sehr gering ist, hab ich mein ein Teil gebastelt und ladees hoch.
Vielleicht kann ja einer von euch mal reinschaun, es kann kein schwerwiegender fehler sein, aber ich bekomme es einfach nicht hin.

Wenn ihr in den comboboxen zuerst den letzten eintrag wählt und euch dann nach oben vor klickt, funktioniert es, andersrum nicht.
also folgendes Funktioniert:
1. Auswahl: "5-fach"
2. Auswahl: "4-fach"
3. Auswahl: "3-fach"
4. Auswahl: "2-fach"
5. Auswahl: "1-fach"

Mach ich es andersherum:
1. Auswahl: "1-fach"
2. Auswahl: "2-fach"
3. Auswahl: "3-fach"
4. Auswahl: "4-fach"
5. Auswahl: "5-fach"

klappt es nicht!

HIER gehts zur Fla

Geändert von florist (18-12-2008 um 13:38 Uhr)
florist 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 aus.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele