AS3 snippet : intégrer une ressource graphique dans le swf.

Cette « astuce » permet d'intégrer directement dans un fichier swf une ressource (tout type).
Cela évitera peut-être le téléchargement distant de données (qui a trop de contraintes pour être rapide à mettre en œuvre, saleté de sandbox).

En code, cela se traduit par la création d'une classe (qui étend le type de la ressource).
Bien évidemment, le swf généré grossit aussi !

Le code et des liens pour aller plus loin suivent.

public class Background extends Sprite
{

	//Inclut la ressource spécifiée par source, une image png ici.
	//De nombreux formats sont gérés : polices, svg, images bitmap, ressources flash...
	//Le chemin doit être spécifié par rapport au fichier source.
	[Embed(source = "../assets/Plank.png")]
	//Définit la classe à instancier pour récupérer un objet de ce type.
	private var Plank:Class;
	
	//Instancie un objet de type Plank et le stocke dans une variable de type Bitmap (polymorphisme). Ici, on a bien un type Bitmap (Plank extends Bitmap).
	//De toute façon, on ne peut pas mettre :Plank car c'est un type "inconnu à la compilation".
	private var FondNormal:Bitmap = new Plank();

	public function Background()
	{
		//L'objet s'utilise normalement après.
		addChild(FondNormal);
	}

Pour en savoir plus :