| |||||||
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) |
| Neuer User Registriert seit: Oct 2004
Beiträge: 46
| Dezimalwert in Farbe umwandeln?
Hi, ich will für mein Spiel eine "Gesundheitsanzeige" einbauen, so dass: Bei 100% Gesundheit die Farbe Grün dargestellt wird Bei 50% Gesundheit die Farbe Orange dargestellt wird Bei 0% Gesundheit die Farbe Rot dargestellt wird Und das ganze natürlich mit einem Verlauf für alle Werte dazwischen. Habe mir dazu eine Funktion gebastelt: Code: function HealthColor(i)
{
//i = i * ??
HexCol = 0x00FF00;
R = 0x040000; //Rotanteil addieren
G = 0x000200; //Grünanteil subtrahieren
return HexCol + (i * R) - (i * G);
} |
| | |
| | #2 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Mach doch einfach ein Tweening ueber 100 Frames und benutze dann mcGesundheitsAnzeige.gotoAndStop( prozent) um die entsprechende Farbe anzuzeigen. mfg. r
__________________ Ralf Bokelberg™ - Flex & Flash Consulting |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Mar 2004 Ort: Hamburg
Beiträge: 99
|
oder benutze einfach eine wirklich rgb angabe (nicht in hex) und dann gehst du davon aus, dass jede farbe einen wert zwischen 0 und 255 annehmen kann. dazu ein simpler dreisatz und anschließend wieder in hex umrechnen, fertig ![]() edit: public static function rgbToHex( r : Number, g : Number, b : Number ) : Number { return ( r << 16 ) | ( g << 8 ) | b; } Geändert von nesium (08-11-2004 um 13:19 Uhr) |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
lege drei mc's übereinander (rot über orange über grün). die kannst du über _alpha ausblenden.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #5 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Einen Dezimalwert kannst Du über toString(16) in einen Hexadezimalwert umwandeln. z.B. ActionScript:
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- |
| | |
| | #6 (permalink) |
| . Registriert seit: May 2003 Ort: bayern
Beiträge: 1.117
|
... oder auf deine funktion von oben übertragen... ActionScript:
__________________ [mooseMash] |
| | |
| | #8 (permalink) |
| . Registriert seit: May 2003 Ort: bayern
Beiträge: 1.117
|
hat sich da doch noch ein fehler eingeschlichen, besser ist: ActionScript:
__________________ [mooseMash] |
| | |
| | #10 (permalink) |
| . Registriert seit: May 2003 Ort: bayern
Beiträge: 1.117
|
und hier nochmal für ohne ".toString(16)" ActionScript:
__________________ [mooseMash] |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |