[Papervision3D] [REV 238] BitmapFileMaterial : changed IOErrorEvent to FileLoadEvent.LOAD_ERROR
Tim Knip
tim.knip at gmail.com
Sun Sep 2 16:49:41 PDT 2007
Instead of flash.events.IOErrorEvent now FileLoadEvent.LOAD_ERROR is
fired when a bitmap fails to load.
usage:
material = new BitmapFileMaterial( path );
material.addEventListener( FileLoadEvent.LOAD_COMPLETE,
materialCompleteHandler );
material.addEventListener( FileLoadEvent.LOAD_ERROR, materialErrorHandler );
// save the path / materialName so we now we are trying to load
something tricky...
_queuedMaterials[path] = materialName;
private function materialErrorHandler( event:FileLoadEvent ):void
{
var materialName:String = _queuedMaterials[ event.file ];
var replacingMaterial:MaterialObject3D = new WireframeMaterial();
resetMaterials( this, materialName, replacingMaterial );
}
private function resetMaterials( obj:DisplayObject3D,
materialName:String, newMaterial:MaterialObject3D ):void
{
// remove old
var existing:MaterialObject3D = materials.getMaterialByName(materialName);
if( existing )
obj.materials.removeMaterialByName(materialName);
// add new
obj.materials.addMaterial(newMaterial, materialName);
// recurse children
for each( var child:DisplayObject3D in obj.children )
resetMaterials( child, materialName, newMaterial );
}
Or something alike :)
Tim
More information about the Papervision3D
mailing list