Dec nach Hex

Also ich will, das ich den Inhalt einer Variable X in einen HEXWERT umwandele und in einer Variable Y abspeichere.
Zum Bleistift:
255 > FF
Oder Moment, Noch einfacher.
Ich wäre schon Happy, wenn du mir sagst, wie ich einen Movieclip mit Farbwerten z. B. 200, 100, 123 umfärbe, einfärbe, wie auch immer.
Ich will die Kästchen, die hier bei meinem Film erstellen verschieden einfärben, nach Kriterian die ich nch nicht definiert habe (Farbskala, Zufall). Dazu müsste ich sie überhaup einmal umfärben können
 

Anhänge

  • SWF.zip
    1,3 KB · Aufrufe: 17
Zuletzt bearbeitet:
Siehe oben.
Die Variablenzahl ist mir völlig Salami, die Farbcodierung erstelle ich, wenn ich weis, wie sie aufgebaut sein muss. Und wenn es 12 V. sein müssen, dann mach ich soviel.:)
Prinzipiell:
Ich hab für jeden Wert eine Variable, also R, G, B, A.
Sonst wäre das auch kein Problem es gibt ja Slice
A in dem Fall nicht, weil ich nutze Alpha auch für removeMovieClip(). Ich hab also nur RGB.
 
Zuletzt bearbeitet:
Hehe, ok. Dann wollen wir mal...

Ziel: 3 Variablen in eine Hexadezimalzahl umwandeln.

Aufbau einer Haxadezuimalzahl:
Code:
 # xx yy zz

xx = rot-Wert
yy = Grün - Wert
zz = Blau-Wert
(RGB - #xxyyzz)

In Hexadezimal sind die Zahlen von 10-15 mit Buchstaben ersetzt:
10 = A; 11 = B, 12 = C, 13=D, 14=E, 15=F.

Um Farben darzustellen werden immer die etsprechenden Ziffern 2x hintereinander augelistet (damit das auch mit Zahlen>10 geht wurden diese halt durch Buchstaben ersetzt).

Also brauchen wir 3 Variablen, die wir entsprechend umwandeln:

Code:
function DecToHex(hex_1,hex_2, hex_3) {

for(i=0; i<=3, i++) { // ggf. Die Variablen in Buchstaben umwandeln
 dezi = eval("hex_" + i);
 if(dezi = 10) dezi = "A";
 if(dezi = 11) dezi = "B";
 if(dezi = 12) dezi = "C";
 if(dezi = 13) dezi = "D";
 if(dezi = 14) dezi = "E";
 if(dezi = 15) dezi = "F";
}

// Jetzt noch das ganze in eine Hexadezimalsystem packen:
return ("#" + hex_1 + hex_1 + hex_2 + hex_2 + hex_3 + hex_3);
}

Und wehe es kommt jetzt einer und sagt es gibt eine fertige Funktion dafür :)

Gruß,
Jens
 
Hmm, irgendwie funtktioniert das ganze nicht.... tja, so is das wenn man seinen AS nicht ausprobiert. Das hier aber:

Code:
function DecToHex(hex_1, hex_2, hex_3) {

for(i=0; i<=3; i++) { // ggf. Die Variablen in Buchstaben umwandeln
 if(hex_1 == 10) hex_1 = "A";
 if(hex_1 == 11) hex_1 = "B";
 if(hex_1 == 12) hex_1 = "C";
 if(hex_1 == 13) hex_1 = "D";
 if(hex_1 == 14) hex_1 = "E";
 if(hex_1 == 15) hex_1 = "F";
  if(hex_2 == 10) hex_2 = "A";
 if(hex_2 == 11) hex_2 = "B";
 if(hex_2 == 12) hex_2 = "C";
 if(hex_2 == 13) hex_2 = "D";
 if(hex_2 == 14) hex_2 = "E";
 if(hex_2 == 15) hex_2 = "F";
  if(hex_3 == 10) hex_3 = "A";
 if(hex_3 == 11) hex_3 = "B";
 if(hex_3 == 12) hex_3 = "C";
 if(hex_3 == 13) hex_3 = "D";
 if(hex_3 == 14) hex_3 = "E";
 if(hex_3 == 15) hex_3 = "F";
}

// Jetzt noch das ganze in eine Hexadezimalsystem packen:
trace ("#" + hex_1 + hex_1 + hex_2 + hex_2 + hex_3 + hex_3);
return ("#" + hex_1 + hex_1 + hex_2 + hex_2 + hex_3 + hex_3);
}
 
Danke vielmals.
Was heißt da HEHE so schlecht ist die Programierung auch wieder nicht, soll ja nur zu Übungszwecken dienen.
 

Neue Beiträge

Zurück