Thank for your fast replies. I'll give both ways a try.

Jochem

On 30 nov, 11:48, Fabrice3D <[email protected]> wrote:
> The AS3 classes generated by Prefab and Away3D also hold a meshes array.
>
> so if you know which one is the target
> you also can change your material with
>
> (myclass.meshes[index].material as BitmapMaterial).bitmap =  
> myNewBitmapdata;
>
> Fabrice
>
> On Nov 30, 2009, at 11:28 AM, lo-th wrote:
>
> > Hi
>
> > for me the best way to change material is
>
> > C_MAP({ obj:your_objet3d, clip:your_Bitmapdata , type:"bitmap",
> > s:true})
>
> > function C_MAP( ini:Object ):void{
> > MAP( ini ); var mat:*= ini['mat'] ;
> > ini['mat'].smooth=ini["s"] || false;
> > var M= ini['obj'] as Mesh
> > for each (var F:Face in M.faces){ if(F)F.material=mat }
> > }
> > // only for primitive object
> > function C_MAP2( ini:Object ):void{
> > MAP( ini ); var mat:*= ini['mat'] ;
> >  ini['mat'].smooth=ini["s"] || false;
> > var M= ini['obj'] as Mesh
> > M.material=(mat)
> > }
>
> > // material in away lite
> > public function MAP( ini:Object ):void{
> > switch(ini['type']){
> >  case "bitmap":   ini['mat']  = new BitmapMaterial( ini['clip'] );
> > break;
> >  case "color":   ini['mat']  = new ColorMaterial (ini['color'] ||
> > 0x00 ,ini['alpha'] || 1 ); break;
> >  case "null":      ini['mat']  = new ColorMaterial (0x00, 0);break;
> >  case "wire":   ini['mat']  = new WireframeMaterial( ini['color'] ||
> > 0x00) break;
> >  case "movie": ini['mat']  = new MovieMaterial(ini['clip']); break;
> > }}

Reply via email to