PixEmbed – Nouvelle extension de Pixlib pour faciliter l’intégration d’éléments

PixEmbed est une petite et rapide extension de Pixlib qui simplifie beaucoup la vie.

En effet, pour optimiser les chargements ou pour d’autres raisons, il peut être pratique d’intégrer (embed) des éléments directement au niveau de la compilation d’un projet Flash.
PixEmbed arrive pour faire le pont entre Embed et le PXResourceLocator de Pixlib. Le PXResourceLocator devenant de plus en plus un cœur des éléments disponibles dans les projets Pixlib.

L’utilisation de PixEmbed est vraiment très simple. Tout d’abord il faut créer une classe intégrant les éléments :

package
{
	public class MyEmbed
	{
		[Embed(source="list.xml", mimeType="application/octet-stream")]
		public var DataXML : Class;
 
		[Embed(source="list.xml", mimeType="application/octet-stream")]
		public var RawXML : Class;
 
		[Embed(source="picto.jpg")]
		public var DataJPG : Class;
	}
}

Ensuite, il faut dire à Pixlib que nous allons utiliser cette classe pour gérer nos éléments :

package
{
	import net.pixlib.core.PXBaseDocument;
	import net.pixlib.embed.PXEmbedEngine;
	import net.pixlib.load.PXResourceLocator;
	import net.pixlib.log.PXDebug;
	import net.pixlib.log.PXTraceLayout;
	import net.pixlib.log.addLogListener;
 
	import flash.display.DisplayObject;
	import flash.utils.ByteArray;
 
	public class Sample extends PXBaseDocument
	{
		override protected function onDocumentReady() : void
		{
			addLogListener(PXTraceLayout.getInstance());
 
			//Ici on rajoute un traitement pour que notre "DataXML" soit tranformée en XML (sinon on a un simple ByteArray).
			PXEmbedEngine.addParser("DataXML", PXEmbedEngine.parseXML);
 
			//On intégre nos éléments
			PXEmbedEngine.embed(MyEmbed);
 
			//On  récupère le logo via le PXResourceLocator
			var logo : DisplayObject = PXResourceLocator.getInstance().locate("DataJPG") as DisplayObject;
			PXDebug.DEBUG(logo, this);
 
			//On  récupère le xml sachant qu'on a défini un "parser" plus haut pour ça
			var xml : XML = PXResourceLocator.getInstance().locateXML("DataXML");
			PXDebug.DEBUG(xml, this);
 
			//On  récupère un embed de XML classique, c'est à dire un ByteArray
			var ba : ByteArray = PXResourceLocator.getInstance().locate("RawXML") as ByteArray;
			PXDebug.DEBUG(new XML(ba.readUTFBytes(ba.length)), this);
		}
	}
}

PixEmbed est simple à utiliser et facilite la vie dans les développements. On peut passer par une phase de chargement externe à une phase d’intégration dans le code vraiment rapidement.

La librairie PixEmbed est disponible sur la page des téléchargements, les sources sur le SVN et la documentation ici.

Happy coding with Pixlib

This entry was posted in Extension, Framework, PixNews, Tutorial and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">