HI Thomas,
Locator:
There is two ways for handling asset naming in Pixlib
1) Let Pixlib defines auto-generated unique names, ex:
loader.add(new PXGraphicLoader(), null, new URLRequest("picto.jpg"),
context);
2) Define explicit names by yourself for convenience, ex:
loader.add(new PXGraphicLoader(), "MyImage", new
URLRequest("sample.jpg"), context);
In you choose the second way you must unregister locator name by
releasing loader item once loaded, ex:
private function _onItemLoaded(event : PXLoaderCollectionEvent) : void
{
event.stopImmediatePropagation();
PXDebug.DEBUG("Item loaded " +
event.currentLoader.name, this);
var oLoader : PXGraphicLoader = event.currentLoader as
PXGraphicLoader;
oLoader.release();
}
As as side-effect your content will be unloaded unless you store ( new
PXGraphicLoader(holder) ) or reparent loaded content before releasing.
Progress:
Event you must listen for in PXParallelLoader is
PXLoaderCollectionEvent.onItemLoadProgressEVENT.
PXLoaderCollection.onLoadProgressEVENT does not apply in this case to
check overall progress. Fow now You'll have to implement this by
yourself (by monitoring onLoadInitEVENT for each loaded item).
var loader1 : PXGraphicLoader = new PXGraphicLoader(this);
loader.addEventListener(PXLoaderCollectionEvent.onItemLoadProgressEVENT,
_onItemDedicatedProgress);// will trigger only for loader1
loader.add(loader1, "image1", new URLRequest("image1.jpg"),
PXLoaderContext.getInstance());
loader.add(new PXGraphicLoader(this), "image2", new
URLRequest("image2.jpg"), PXLoaderContext.getInstance());
loader.addEventListener(PXLoaderCollectionEvent.onItemLoadStartEVENT,
_onItemStart);
loader.addEventListener(PXLoaderCollectionEvent.onItemLoadProgressEVENT,
_onItemProgress);
loader.addEventListener(PXLoaderCollectionEvent.onLoadInitEVENT,
_onQueueLoaded);// will trigger for all loaders (loader1 included)
loader.addEventListener(PXLoaderCollectionEvent.onItemLoadInitEVENT,
_onItemLoaded);
loader.load();
private function _onItemStart(event : PXLoaderCollectionEvent) : void
{
event.stopImmediatePropagation();
PXDebug.DEBUG("_onItemStart", this);
}
private function _onItemDedicatedProgress(event :
PXLoaderCollectionEvent) : void
{
event.stopImmediatePropagation();
PXDebug.INFO("_onItemProgress.name " +
event.currentLoader.name,
this);
PXDebug.INFO("_onItemProgress.percentLoaded " +
event.currentLoader.percentLoaded, this);
}
private function _onItemProgress(event : PXLoaderCollectionEvent) :
void
{
event.stopImmediatePropagation();
PXDebug.DEBUG("_onItemProgress.name " +
event.currentLoader.name,
this);
PXDebug.DEBUG("_onItemProgress.percentLoaded " +
event.currentLoader.percentLoaded, this);
}
private function _onItemLoaded(event : PXLoaderCollectionEvent) : void
{
event.stopImmediatePropagation();
PXDebug.DEBUG("Item loaded " +
event.currentLoader.name, this);
}
private function _onQueueLoaded(event : PXLoaderCollectionEvent) :
void
{
event.stopImmediatePropagation();
PXDebug.DEBUG("All is loaded", this);