Chargement dynamique de polices avec Flash et Actionscript 3

Ayant eu récemment besoin de faire ce genre de choses sur un projet, voici un tutoriel sur le chargement dynamique de polices de caractères en Actionscript 3. Ceci peut être particulièrement utile dans le cas par exemple de sites multilingues comportant des langues asiatiques, les polices de caractères chinoises ou japonaises pouvant être particulièrement lourdes à charger...

Lire la suite...

Du nouveau du coté de l'intégration Flash

Après avoir réglé son différent avec Eolas et conclu un accord "à l'amiable", Microsoft a décidé de supprimer l'avertissement d'activation pour les contenus Active X dans Internet Explorer. La mise à jour, prévue pour avril 2008 (!) nous fera donc enfin oublier le message "Cliquez ici pour activer et utiliser ce contrôle" sur les animations Flash.

Pendant ce temps, le développement de SWFObject se poursuit, Geoff Stearns travaille désormais avec Bobby van der Sluis et Michael Williams d'Adobe sur SWFObject 2.0, qui deviendra la méthode standard d'intégration Flash préconisée par Adobe. SWFObject 2 sera donc le successeur désigné de SWFObject, UFO et du Flash player detection kit d'Adobe. La beta 6 est actuellement disponible sur Google Code.

Classe principale en Actionscript 2

La possibilité dans Flash CS3 de pouvoir spécifier une classe principale pour son application, ça donne envie de pouvoir faire la même chose en Actionscript 2/Flash 8 .

Pas de souci, voici le code de la classe :

class Application extends MovieClip{
	
	public function Application(){
		//...
	}
	
	public static function main(target:MovieClip):Void {
		target.__proto__ = Application.prototype;
		Function(Application).apply(target, null);
	}
	
}

Oui alors bon il reste quand même une ligne de code à placer sur la première frame dans le FLA:

Application.main(this);

Voilà, c'est tout. La méthode main permet dans un premier temps, de spécifier le niveau 0 du swf comme une instance de la classe Application (this dans notre classe fera donc bien référence à _root). La deuxième ligne permet ensuite d'appeler le constructeur.

Astuce trouvée via Danny Patterson et BIT-101

Sloppy, le simulateur de modem 56k

Sloppy est un petit logiciel bien pratique, puisqu'il permet de simuler une bande passante réduite. Ça permet par exemple de tester son site en local, dans son navigateur habituel, à la vitesse d'une connexion 56k ou autre (les choix vont de 9,6 à 512k).

C'est particulièrement utile pour un site flash avec beaucoup de chargements asynchrones, cela permet de vérifier que ceux-ci se font correctement dans un environnement "réel", contrairement au mode "Simuler le téléchargement" disponible dans Flash.

Sloppy est une application Java, disponible donc sur Windows, Mac OS X et Linux.

Sloppy

Red5 : installation sous Mac OS X

Apollo, WebKit et Windows

Apollo vient de sortir aujourd'hui en version alpha sur le labs d'Adobe. En très bref, Apollo permet de créer des applications Internet riches (RIA) multi-plateformes en mixant Flash, HTML, CSS et JavaScript.

Une bonne nouvelle c'est que Apollo utilise WebKit pour le rendu HTML/CSS, c'est à dire le même moteur de rendu que Safari. Apollo permet donc d'avoir le moteur WebKit disponible sous Windows, ce qui est plutôt intéressant pour les designers qui veulent tester leurs pages sans avoir de mac sous la main...

Et justement, Adobe fournit dans ses exemples, une application dénommée Scout et qui permet d'afficher n'importe quelle page web au sein d'Apollo. Un bon plan pour vérifier le rendu d'un design html/css (presque) comme sous Safari ;) Grand luxe, Scout permet même d'analyser le DOM, le code source, ... un peu comme Firebug pour Firefox.

Je ne pense pas que la version de WebKit utilisée soit exactement la même que celle de Safari mais les différences de rendus sont à priori négligeables. Le moteur JavaScript en revanche n'est pas le même, donc prudence là dessus.

Pour utiliser Scout, installez d'abord Apollo puis télécharger ensuite Scout à partir de cette page (l'enregistrement sur le site d'Adobe est nécessaire).

Scout

Actionscript : délégation et passage d'arguments

fireBug : déboguer du Flash avec Firebug

fireBug est une classe ActionScript très intéressante qui permet d'envoyer des messages à la console de Firebug. Cela permet donc de déboguer son animation Flash directement dans le navigateur. Les différentes méthodes de la console sont disponible : time, info, warn, error,...

Voir un exemple ici (installer Firebug avant si ce n'est pas déjà fait...) : http://www.reach-out.org.uk/flashBug/

C'est une bonne alternative au bon vieux déboguage avec trace() dans Flash, et aussi à FlashTracer, qui nécessite la version debug du plugin Flash pour fonctionner.

- page 1 de 2