Ausblendeffekt für Text in HTML5-Canvas

8

Ich zeichne einfachen Text in HTML5 Canvas mit diesem:

%Vor%

Jetzt möchte ich das Ausblenden dieses Textes animieren. Wie kann das gemacht werden?

Edit: Mir ist bewusst, dass es momentan keine gebrauchsfertige Möglichkeit gibt (zumindest kann ich nichts finden). Ich bin ein Anfänger in Grafik-Programmierung, aber ich möchte lernen, so dass jeder Hinweis, wo ich anfangen soll geschätzt wird.

Vielleicht etwas wie das Einfügen des Textes in eine eigene Leinwand und das Ändern von globalAlpha der Leinwand ...? Aber der Hintergrund der Leinwand müsste transparent sein. Und ich weiß nichts über die Performance, habe viele kleine Labels, die überall erscheinen und verschwinden, die ausgeblendet werden müssen.

    
Ixx 29.03.2012, 20:21
quelle

3 Antworten

13

Es ist einfacher, wenn Sie die rgba () -Notation verwenden, um die fillStyle- statt die hexadezimale Schreibweise festzulegen. Hier ist ein funktionierendes Beispiel ( Demo ):

%Vor%     
Ori 29.03.2012, 20:56
quelle
0

Es gibt keine integrierte Lösung dafür. Sie müssen die Animation (Fade) machen, indem Sie jeden Frame einzeln zeichnen:

Richten Sie eine Zeitfunktion ein, die den Farbverlauf zwischen # FF0000 und der Hintergrundfarbe berechnet und den Text immer wieder neu zeichnet, bis die Hintergrundfarbe erreicht ist.

    
stewe 29.03.2012 20:40
quelle
0

Ich glaube, ich habe es verstanden. Vergessen zu erwähnen, dass ich bereits eine Renderschleife und Textobjekte habe, die sich jeweils auf der Leinwand zeichnen.

Die Lösung besteht also darin, den Textobjekten eine Alpha-Variable hinzuzufügen:

%Vor%

und jede x Frames oder Zeit reduzieren dies ein wenig.

und in der Renderschleife:

%Vor%     
Ixx 29.03.2012 20:53
quelle

Tags und Links