Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-08-2009, 14:03   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 20
Viele Buttons per Array interaktiv machen

Hallo Guten Tach.

Ich hab mich heut das erste mit mal Arrays auseinandergesetzt.
Ich hab auf einer Seite ziemlich viele Buttons. Und da die im Prinzip alle das gleiche machen möchte ich einfach nur die Namen des Buttons und die Namen des zu bewegenden MCs in ein Array packen (die Namen sind gleich, nur durch ein vorgesetztes button_ bzw reihe_ unterschiedlich).

Wenn ich mit Trace den Namen des jeweiligen Buttons ausgeben will wenn man RollOvered, kommt aber ein undefined!

Kann mir da jemand helfen?

Code:
var reihen:Array = Array("koerper", "klassen", "haeuser", "stadt", "frauen", "geld", "schnitzel"); 
	for (i = 0; i < reihen.length; i++) { 
		alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onRollOver = function() {
			trace(reihen[i]);
			var reihen_rollover = new mx.transitions.Tween(alle_ebenen_2.ebene_reihen["reihe_"+reihen[i]], "_x", tweenMode, alle_ebenen_2.ebene_reihen["reihe_"+reihen[i]]._x, (7 + navi_hover_verschiebung), mouseover_punkte_geschwindigkeit, true);
		}
		
		alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onRollOut = alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onDragOut = function() {
			var reihen_rollover = new mx.transitions.Tween(alle_ebenen_2.ebene_reihen["reihe_"+reihen[i]], "_x", tweenMode, alle_ebenen_2.ebene_reihen["reihe_"+reihen[i]]._x, 7, mouseover_punkte_geschwindigkeit, true);
		}
		
		alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onRelease = function() {
			welche_ebene_drei_aktiv = ["ebene_produkt_"+reihe[i]];
			var reihen_rollover = new mx.transitions.Tween(alle_ebenen_2.ebene_reihen["reihe_"+reihen[i]], "_x", tweenMode, alle_ebenen_2.ebene_reihen["reihe_"+reihen[i]]._x, 7, mouseover_punkte_geschwindigkeit, true);
			ebene_3_einblenden(true, this["ebene_produkt_"+reihen[i]]);
		}
	}
__________________
www.jandienstknecht.com
jee-day ist offline   Mit Zitat antworten
Alt 07-08-2009, 14:40   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Du musst den aktuellen Wert von "i" dem Button in einer Variable mitgeben:
PHP-Code:
for (i=0i<reihen.lengthi++) {
    
alle_ebenen_2.ebene_reihen["button_"+reihen[i]].id i
    alle_ebenen_2
.ebene_reihen["button_"+reihen[i]].onRollOver = function() {
        
trace(reihen[this.id]);
        ... 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-08-2009, 15:05   #3 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
[OT] nur mal angemerkt: deine Signatur könnte eine Aufbesserung vertragen jee-day
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®

Geändert von nullidee (07-08-2009 um 15:06 Uhr)
nullidee ist offline   Mit Zitat antworten
Alt 11-08-2009, 13:12   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 20
Zitat:
Zitat von Der Frager Beitrag anzeigen
Du musst den aktuellen Wert von "i" dem Button in einer Variable mitgeben:
PHP-Code:
for (i=0i<reihen.lengthi++) {
    
alle_ebenen_2.ebene_reihen["button_"+reihen[i]].id i
    alle_ebenen_2
.ebene_reihen["button_"+reihen[i]].onRollOver = function() {
        
trace(reihen[this.id]);
        ... 
Das hab ich doch schon gemacht, indem ich dem Namen des Buttons i hinten dran hänge.... ["button_"+reihen[i]]
Und i wird ja durch die For Schleife aus dem Array abgerufen und definiert...
Also is das auch nich die Lösung des Problems
__________________
www.jandienstknecht.com
jee-day ist offline   Mit Zitat antworten
Alt 11-08-2009, 13:15   #5 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
hast du es denn probiert?
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 11-08-2009, 13:23   #6 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Zitat:
Zitat von jee-day Beitrag anzeigen
Das hab ich doch schon gemacht, indem ich dem Namen des Buttons i hinten dran hänge.... ["button_"+reihen[i]]
Und i wird ja durch die For Schleife aus dem Array abgerufen und definiert...
Also is das auch nich die Lösung des Problems
Wie Der Frager schon geschrieben hat, Du mußt jedem Button sein "i" anhängen!
In dem Button so wie Du es schreibst, ist nur das letzte i der for-schleife bekannt!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 12-08-2009, 11:32   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 20
Zitat:
Zitat von nullidee Beitrag anzeigen
hast du es denn probiert?
Ja klappt jetzt auch.
Bei Mouseover wird immerhin die richtige ID aus dem Array ausgegeben.

Allerdings werden die Tweens dennoch nicht ausgeführt.
Wenn man über den jeweiligen Button RollOvered, dann soll der unter dem jeweiligen Button liegende MC ein wenig verschoben werden.

Passiert aber nix.
__________________
www.jandienstknecht.com
jee-day ist offline   Mit Zitat antworten
Alt 12-08-2009, 11:50   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 20
Jetzt gehts

Aha. Hab des Problems Lösung gefunden.

ich depp musste ja nur reihen[this.id] in die Tweens einsetzen um den jeweils richtigen MC anzusprechen. Jetzt funzts.

Tausend Dank für Eure Hilfe
__________________
www.jandienstknecht.com
jee-day ist offline   Mit Zitat antworten
Alt 12-08-2009, 11:50   #9 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
wie sieht Dein Script den jetzt aus?
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 12-08-2009, 13:24   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 20
Zitat:
Zitat von RustyCake Beitrag anzeigen
wie sieht Dein Script den jetzt aus?
Code:
var reihen:Array = Array("koerper", "klassen", "haeuser", "stadt", "frauen", "geld", "schnitzel");
for (i=0; i<reihen.length; i++) { 
    alle_ebenen_2.ebene_reihen["button_"+reihen[i]].id = i;
    alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onRollOver = function() { 
	var reihen_rollover = new mx.transitions.Tween(alle_ebenen_2.ebene_reihen["reihe_"+reihen[this.id]], "_x", tweenMode, alle_ebenen_2.ebene_reihen["reihe_"+reihen[this.id]]._x, (7 + navi_hover_verschiebung), mouseover_punkte_geschwindigkeit, true);
    }
		
    alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onRollOut = alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onDragOut = function() {
	var reihen_rollout = new mx.transitions.Tween(alle_ebenen_2.ebene_reihen["reihe_"+reihen[this.id]], "_x", tweenMode, alle_ebenen_2.ebene_reihen["reihe_"+reihen[this.id]]._x, 7, mouseover_punkte_geschwindigkeit, true);
    }
		
    alle_ebenen_2.ebene_reihen["button_"+reihen[i]].onRelease = function() {
	welche_ebene_drei_aktiv = ["ebene_produkt_"+reihen[this.id]];
	var reihen_rollout = new mx.transitions.Tween(alle_ebenen_2.ebene_reihen["reihe_"+reihen[this.id]], "_x", tweenMode, alle_ebenen_2.ebene_reihen["reihe_"+reihen[this.id]]._x, 7, mouseover_punkte_geschwindigkeit, true);
	ebene_3_einblenden(true, welche_ebene_drei_aktiv);
    }
}

Jetzt hab ich nur noch das Problem, dass die Variable am Ende "welche_ebene_drei_aktiv" einen MC Namen enthält welchen ich durch diese Variable ansprechen will. Und das funzt irgendwie nich. Aber tut in diesem Beitrag ja nichts zur Sache
__________________
www.jandienstknecht.com
jee-day ist offline   Mit Zitat antworten
Alt 12-08-2009, 13:48   #11 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Ist "ebene_produkt_" ein MovieClip, wenn ja wo liegt der?
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
abrufen, array, button, movieclip, schleife

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 12:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele