I'm still struggling with this one...  here's my class

        public class Floor extends Plane
        {
                public function Floor(floorMc:MovieClip, segmentsW:uint=1,
segmentsH:uint=1, yUp:Boolean=true)
                {
                        var bitmapData:BitmapData = new BitmapData(2048, 2048, 
true,
0x00000000);
                        bitmapData.draw(floorMc);
                        var floorMaterial:BitmapMaterial = new 
BitmapMaterial(bitmapData,
false);
                        super(floorMaterial, floorMc.width, floorMc.height, 1, 
1, true);
                        rotationX = 90;
                        trace();
                }
        }

Firstly, I would like to create a BitmapData object the same size as
the MovieClip, but Texture3DProxy throws a "size must be power of 2"
error unless I set both height and width to a power of two, so

new BitmapData(floorMc.width, floorMc.height, true, 0x00000000)

doesn't work.

Secondly, I can't set the BitmapMaterial to transparent = true as
suggested above - because BitmapMaterial doesn't have a transparent
property.

I'm trying to do much the same thing - draw a Sprite onto a plane and
show only the opaque parts of the Sprite.

Any ideas?

Cheers,

Wag



On Jul 25, 2:00 pm, 0L4F <[email protected]> wrote:
> Ah, just a very simple method that receives a Sprite Object, and
> returns the corresponding BitmapData.
>
> var b:Bitmap = new Bitmap(bmd); is redundant code, whoops ;)
>
> cheers,
>
> 0L4F
>
> On Jul 25, 2:35 pm, Fabrice3D <[email protected]> wrote:
>
>
>
>
>
>
>
> > getBitmapData...
> > what is this method doing exactly?
>
> > Fabrice
>
> > On Jul 25, 2011, at 2:31 PM, 0L4F wrote:
>
> > > Hello all,
>
> > > I've set up an Away3D - Flash IDE project. I'm using Sprites from the
> > > Flash library to create BitmapMaterials for Planes in Away3D.
>
> > > I'd really like the Sprite's transparencies (alpha channel) to show up
> > > in the BitmapMaterials, but I can't seem to get it to work :(
>
> > > Here's my code:
>
> > >                        textSprite = new TextSprite();   // Sprite
> > > object from the Flash libraty
> > >                    matSprite = new 
> > > BitmapMaterial(getBitmapData(textSprite));
>
> > >                    //matSprite.transparent = true;  // doesn't do the 
> > > trick
>
> > >                    matSprite.lights = [light1];
>
> > >                    matSprite.diffuseMethod = new BasicDiffuseMethod();
> > >                    matSprite.diffuseMethod.alphaThreshold = 0.5;          
> > >    // no
> > > luck!
>
> > >                private function
> > > getBitmapData(srcSprite:Sprite):BitmapData
> > >            {
> > >                    var bmd:BitmapData = new BitmapData(srcSprite.width,
> > > srcSprite.height);
> > >                    var b:Bitmap = new Bitmap(bmd);
> > >                    bmd.draw(srcSprite);
> > >                    return(bmd);
> > >            }
>
> > > I'd appreciate any hints / pointers! Thanks in advance,
>
> > > 0L4F

Reply via email to