| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| User Registriert seit: Apr 2003
Beiträge: 97
| Farbe Transformieren
Ich komm einfach nicht dahinter: Wie kann ich eine MC Farbe langsam und gezielt von einer in die andere transformieren? Zum Beispiel von: 0xC30000 nach 0xFB0000 Das Problem ist, das ich nicht weiss, wie das Hexadezimale System durchlaufen werden kann. Das folgende Beispiel geht natuerlich nicht, sollte aber zeigen was ich meine: Code: myColor = new Color(myCircle);
myColor.setRGB(0xC30000);
var Farbe1:Number = myColor.getRGB();
var Farbe2:Number = 0xFB0000;
onEnterFrame=function(){
if(Farbe1 <= Farbe2){
//Wert vergroessern
Farbe1 ++;
myColor.setRGB(Farbe1);
}else{
//Wert verkleinern
}
} |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Spain/Ibiza
Beiträge: 942
| PHP-Code:
__________________ Languages : (in the order of knowledge/preference) Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;) |
| | |
| | #5 (permalink) |
| :Void Registriert seit: Jun 2005 Ort: börlin
Beiträge: 931
|
hi, ja das mit dem farbtween ist so ein problem. technisch sieht das ja so aus, dass du in deinem farbwert z.b. 0xFF7700 eine zahl hast (das ist kein string), welche eine hexadezimalzahl repräsentiert. diese zahl setzt sich genau genommen aus drei farben zusammen, jeweils hexadezimalwerte: FF, 77, 00. das entspricht jeweils einem wert von 0 bis 255 (FF ist 255). um einen farbwert in einen anderen faden zu lassen, musst du also diese zahl auseinandernehmen und in ihre einzelwerte zerlegen. jeden dieser werte muss du dann auf den neuen zielwert erhöhen, also wenn du von farbe1=0xrrggbb zu farbe2=0xr'gg'bb' faden willst, musst du das so machen, dass rr=>rr' wird, gg=>gg' und bb=>bb' wird - und das alles gleichzeitig. ich habe das mal in einer klasse verwirklicht, und auch recht ausführliche anmerkungen zur bedienung dazu geschrieben. die klasse kann so benutzt werden, dass als objekt instanziert wird mit einem start-farbwert und einem end-farbwert (0xrrggbb, ohne ""). nun kann man sich mit der methode getColor() einen farbwert ausgeben lassen, und zwar einen wert zwischen start-farbe und end-farbe. dazu gibt man eine prozentzahl von 0 bis 100 an, also getColor(0) gibt den start-farbwert zurück, getColor(100) den end-farbwert. sehr brauchbar eigentlich, wenns dir gefällt, empfiel die kasse doch einfach weiter. und wie immer: bei fragen fragen gruß janosch p.s. falls du noch nie externe klassen benutzt hast: einfach die datei ColorSet.as in den gleichen ordner wie deine fla tun, und dann mal mit dem beispiel-code in der file anfangen - diesen einfach in den ersten frame in der zeitleiste schreiben, und schon sollte es deutlich werden. pps. haha schön wärs.... ich hasse flash - also so einfach mit dem "in den ordner tun" scheint das nicht zu sein, du musst irgendwie noch den classpath angeben. dazu in beareiten=>einstellungen=>actionscript=>und da irgendwo den ordner hinzufügen, in dem du die datei hast - ich hab keine ahnung, wieso das gerade wieder nicht geht, denn mit der klasse stimmt eigentlich alles. nur flash macht wieder mal probleme, open source (wie eclipse) behandelt das sehr freundlich. |
| | |
| | #8 (permalink) |
| User Registriert seit: Apr 2003
Beiträge: 97
|
Tage spaeter.. Hab mich nochmal an die Sache rangesetzt. Xeefs Besipiel sieht auf anhieb richtig gut aus, macht dann aber bei einigen Tranformationen Probleme. Z.B. bei allen Transformationen, die mit FF.... beginnen. janoshnosh's klasse ist einwandfrei, habs aber nicht hingekriegt (war auch zu ungeduldig) das fuer meine Belange zu modifizieren. Uebhaupt muss ich sagen, das ich dieses Bit - geshifte und Hexadezimal - Dezimal gewuerfele ziemlich laestig finde. Hab aus diesem Grunde mal ein eigenes Beispiel zusammengebaut. Das beruht auf set/getTransform und sieht nicht sonderlich elegant aus. Funktionieren tut es aber ganz tadellos. Wer will, kann ja mal reingucken. Verbesserungsvorschlaege sind natuerlich willkommen. Emil |
| | |
| | #9 (permalink) |
| ActionStripper Registriert seit: Nov 2001 Ort: Oldenburg
Beiträge: 3.275
|
macht es euch doch einfach und ladet die tweening klasse von laco.wz.cz ohne die tweening-klasse fange ich gar nicht mehr an zu scripten. damit kann man nämlich z.B. schnell schreiben: ActionScript:
__________________ Design ist AUCH Geschmackssache. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |