5 Stimmen

RGB-Farbverlauf basierend auf dem Prozentsatz der geladenen Datei

Ich arbeite an meinem ersten Flash-Projekt, und für meinen Preloader möchte ich einen ganz einfachen Farbverlauf basierend auf dem geladenen Prozentsatz erstellen. Der Preloader sagt "77% geladen...", wobei die Zahl 77 eine dynamische Textinstanz namens percentLoaded ist. Ich möchte die textColor von percentLoaded auf einem Gradienten von #000000 bis #FFFFFF, in Graustufen zu ändern.

Deshalb kann ich das nicht einfach tun:

percentLoaded.textColor=(currentValue/100)*0xFFFFFF;

Dies konvertiert einfach die textColor in ein Vielfaches von FFFFFF, gibt aber eine Farbe aus, da es sich nicht um drei separate Komponenten handelt. Derzeit ist hier, was ich habe:

percentLoaded.text=currentValue.toString();
percentLoaded.textColor=rgb2hex((currentValue/100)*255, (currentValue/100)*255, (currentValue/100)*255);

Dabei ist "rgb2hex" eine Funktion, die innerhalb der Klasse als solche definiert ist:

public function rgb2hex(r:Number, g:Number, b:Number) {
    return '0x'+(r << 16 | g << 8 | b).toString(16).toUpperCase();
}

Es sieht aber nicht so aus, als würde sich die Farbe der Schrift tatsächlich ändern. Ich habe flash.text.TextField und flash.display.MovieClip importiert, bin mir aber nicht sicher, ob ich etwas anderes übersehen habe. Wäre es einfacher, dies mit String-Verkettung zu tun? Oder gibt es vielleicht etwas, das mit currentValue/100 und der Übergabe als Zahl zu tun hat?

Falls Sie neugierig sind, ich habe den Code für rgb2hex gefunden aquí .

Danke!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X