Adobe Flash [ActionScript 3] Farbeffekte / Farbton verändern..

hightime-fan

hightime-fan

Aktives Mitglied
Thread Starter
Dabei seit
06.08.2007
Beiträge
716
Reaktionspunkte
29
Hallo MUs !

Ich habe auf meiner Seite verschiedene Buttons und MCs, die per AS geladen werden.
Soweit kein Problem, jedoch wünsche ich noch den Farbton (von #AEAEAE nach #FF00FF) verändern nachdem man auf den Button geklickt hat und den dementsprechenden MC geladen hat.

Beispiel.
Code:
[COLOR="Magenta"]Home[/COLOR]   [COLOR="Gray"]Produkte   Bestellung   Partner[/COLOR]   [I](mein Menü)[/I]

[COLOR="gray"][I]Hier befindet sich Home_MC (Inhalt von 'Home')[/I] [/COLOR]

Sobald ich aber auf 'Produkte' klicke soll folgendes passieren :

Code:
[COLOR="Gray"]Home[/COLOR]   [COLOR="Magenta"]Produkte[/COLOR]   [COLOR="Gray"]Bestellung   Partner[/COLOR]

[COLOR="gray"][I]Hier befindet sich Produkte_MC (Inhalt von 'Produkte')[/I][/COLOR]
Code:
produkte_btn.addEventListener(MouseEvent.CLICK, produkte);
function produkte(event:MouseEvent):void{

	var HomeMCOut:Tween = new Tween(home_MC, "alpha", Strong.easeOut, home_MC.alpha, 0, 90, false);
	var ProdukteIn:Tween = new Tween(produkte_produkte_MC, "alpha", Strong.easeOut, produkte_produkte_MC.alpha, 1, 90, false);
	var ProdukteMenu1In:Tween = new Tween(produkte_produkte_btn, "alpha", Strong.easeOut, produkte_produkte_btn.alpha, 1, 90, false);
	var ProdukteMenu2In:Tween = new Tween(produkte_papier_btn, "alpha", Strong.easeOut, produkte_papier_btn.alpha, 1, 90, false);
	var ProdukteMenu3In:Tween = new Tween(produkte_fotos_btn, "alpha", Strong.easeOut, produkte_fotos_btn.alpha, 1, 90, false);
    
}


Danke im Voraus,

mfG

Hightime :)
 
:noplan: :noplan:
 
Zuletzt bearbeitet:
Hi

Da gibt es zig Möglichkeiten. Du solltest erst mal genauer werden.
Wie sehen deine Buttonms aus? Nur Text? Oder auch Background? Was soll die Farbe ändern? Nur der Text? Nur der BG? Beides?

Generell kannst du einen mc folgendermaßen einfärben


PHP:
var newColor:Color = new Color(mein_mc);
newColor.setRGB(0x#FF00FF);



sprich in deinem Beispiel
PHP:
mein_mc.onRelease=function(){
var newColor:Color = new Color(mein_mc);
newColor.setRGB(0x#FF00FF);
}

Du kannst es auch elegant machen un deine ganzen Buttons in ein Array packen
PHP:
normColor=0xAEAEAE;
clickedColor=0x#FF00FF;


meinebuttons=new Array(home_btn,ueberuns_btn,impressum_btn);

//Färbefunktion
function faerbe(id){
for(u=0;u<meinebuttons.length;u++){
if(u==id){var newColor:Color = new Color(meinebuttons[u]);
newColor.setRGB(clickedColor);}else{var newColor:Color = new Color(meinebuttons[u]);
newColor.setRGB(normColor);}
}

}

for(i=0;i<meinebuttons.length;i++){
clicker=meinebuttons[i];
clicker.id=i;
clicker.onRelease=function(){
faerbe(this.id);
}
}

Dann gibts noch die Möglichkeit deinen Button i der richtigen Farbe neu zu zeichen oder via transformation nur bestimmte Frabwerte zu ändern.
Also sag einfach was genau geändert werden soll ;)
 
Hi Labrar :)

also, es handelt sich um einfache Text-Buttons (ohne Background), d.h. der Text (z.B. Produkte) soll während des Tweens der Inhalt-MCs, die Farbe #FF00FF bekommen (von Grau zu #FF00FF).

Werde das von dir vorgeschlagene gleich mal ausprobieren!
Schonmal vielen Dank! :)


/ könntest du, wenn du etwas Zeit hast oder einen Link parat hast, mir erklären was Arrays sind bzw. wie diese funktionieren und eingesetzt werden?
 
Wobei ich gerade lese dass du nur AS3 suchst. Kann also sein dass es nicht geht. AS3 muss ich leider passen. Ich liebe zwar Flash und Actionscript, hatte aber leider nie die Zeit mich mit AS3 zu beschäftigen da ich im Moment noch alles mit AS2 machen kann.

Trotzdem kann ich dir aber schonmal erklären was ein Array ist da dass in allen Programmiersprachen das selbe ist.

Eine Variable ist wie auch in der Mathematik ein variabler Wert mit fixem Bezeichner

In AS
bezeichner=wert;

Beispiel:

variable1="Oma";

trace(variable1);
Ausgabe ( Oma )

ein Array ist eine Kette aus mehreren Variablen, wobei die Werte in Elementen oder Kettengliedern verankert sind.

also
bezeichner=new Array(Wert1,Wert2,Wert3);

Die Kettenglieder werden durch "," getrennt.

Im Beispiel

familie=new Array("Oma","Opa","Papa","Mama");

du kannst jetzt jedes einzelne Element ansprechen, verändern oder ausgeben indem du dem Bezeichner einfach in eckigen Klammern die Kettengliedposition minus 1 angibst.

Wenn also Opa ausgegeben werden soll

trace(familie[1]);

Bei Mama
trace(familie[3]);

Bei Oma
trace(familie[0]);

Warum immer minus 1?

Ganz einfach.
In fast allen programmiersprachen fangen Arrays bei 0 an.
Also 0 ist das erste Element
1 das zweite
2 das dritte usw. usw.

Ich hoffe ich konnte dir das ganze etwas näher bringen ;)
 
Zuletzt bearbeitet:
Am Anfang konnte ich zwar nicht ganz folgen, aber dank deines Beispiels hab ich es jetzt mehr oder weniger! Vielen Dank! :)

Bzgl. des ursprünglichen Themas :

In einem anderen Forum wurden mir folgende Links gegeben :

- TweenMax

- TweenLight

Werde das gleich mal ausprobieren.. :)
 
Zurück
Oben Unten