Dernier point sur l’utilisation de l’API de chargement de Pixlib.
L’abstraction mise en place dans l’API oblige certaines fois à réaliser du transtypage pour récupérer le véritable système de chargement utilisé.
Les namespaces vont permettre d’éviter ceci et garder un typage fort lors de l’écriture du code.
Par exemple, avec une utilisation du PXGraphicLoader.
package { public class Sample extends Sprite { public function Sample() { var loader : PXLoader = new PXGraphicLoader(this); loader.addEventListener(PXLoaderEvent.onLoadInitEVENT, _onGraphicLoaded); loader.load(new URLRequest("picto.jpg"), PXLoaderContext.getInstance()); } private function _onGraphicLoaded(event : PXLoaderEvent) : void { var loader : PXGraphicLoader = PXGraphicLoader(event.loader); loader.visible = false; } } }
Afin d’éviter l’écriture systématique des transtypage, Pixlib définie des namespaces dédiés pour chaque type de chargement. Ainsi, pour garder un typage fort lors de l’écriture, il possible de faire :
package { public class Sample extends Sprite { public function Sample() { var loader : PXLoader = new PXGraphicLoader(this); loader.addEventListener(PXLoaderEvent.onLoadInitEVENT, _onGraphicLoaded); loader.load(new URLRequest("picto.jpg"), PXLoaderContext.getInstance()); } private function _onGraphicLoaded(event : PXLoaderEvent) : void { event.pixlib_GraphicLoader::loader.visible = false; } } }
Voici la liste des namespaces disponibles dans Pixlib, leur nom étant basé sur le système de chargement désiré :
- pixlib_CSSLoader
- pixlib_FileLoader
- pixlib_GraphicLoader
- pixlib_StreamLoader
- pixlib_XMLLoader
Ce ciblage par namespace est aussi disponible pour le PXLoaderLocator (agrégation des chargements).(cf article)
Happy coding with Pixlib !