Haha, I was just coming here to post this solution!  I found it while
looking for problems with embedded swfs in flex.  Great work Fabrice,
as usual!

On Apr 30, 6:32 pm, Fabrice3D <[email protected]> wrote:
> found a fix
>
> [Embed(source="mySWF.swf", mimeType="application/octet-stream")]
> private var mySWF:Class;
> private var loader:Loader;
>
> [class + int away code]
> addAwdEmbed();
>
> private function addAwdEmbed():void
> {
>         loader = new Loader();
>         loader.contentLoaderInfo.addEventListener(Event.INIT,loadedswf);
>         loader.loadBytes(new mySWF());
>
> }
>
> private function loadedswf(e:Event):void {
>         var mc:MovieClip = MovieClip(loader.content);
>         var amat:AnimatedBitmapMaterial = new AnimatedBitmapMaterial(mc);
>         amat.play();
>         var sphere:Sphere = new Sphere({material:amat, segmentsH:10, 
> segmentsW:10, radius:2500});
>         this.view.scene.addChild(sphere);
>
> }
>
> hope it helps :)
>
> I will try to see how Ican add a catch in the material and let it do that 
> stuff automatically
>
> Fabrice
>
> On Apr 30, 2010, at 10:00 PM, savagelook wrote:
>
>
>
> > Just to make sure I am understanding you correctly, you are thinking
> > that a workaround might be to embed a movieclip within the SWF that
> > you plan to embed.  Then you would use that embedded movieclip as the
> > source of the AnimatedBitmapMaterial, right?
>
> > Is this a bug in the way Away3D processes embedded SWFs, or is it a
> > limitation of embedded SWFs in general?
>
> > On Apr 30, 3:45 pm, Fabrice3D <[email protected]> wrote:
> >> Actually yes.
>
> >> I know what the problem is:
> >> seams an embedded swf as movieclip does not have the notion of frames, 
> >> which is required by the material code.
>
> >> traces 0 frames.
>
> >> I still do not have a fix on this one, but was planning add a little 
> >> workaround in meanwhile.
> >> where instead of having on swf as movieclip, where you could have in swf a 
> >> movieclip on stage with an instance name set.
> >> you could then store more mc's in that swf and just pass the instance name 
> >> to the material...
>
> >> Fabrice
>
> >> On Apr 30, 2010, at 6:25 PM, savagelook wrote:
>
> >>> any word on this one?
>
> >>> On Apr 28, 4:58 pm, savagelook <[email protected]> wrote:
> >>>> Sorry for the typos in my last response, the "new" at the beginning of
> >>>> the declarations is supposed to be a "var"
>
> >>>> I've also tried the following with no success:
>
> >>>> var mc:MovieClip = new MovieClip();
> >>>> mc.addChild(new mySwf());
> >>>> var sphere:Sphere = new Sphere({material:new
> >>>> AnimatedBitmapMaterial(mc)});
>
> >>>> On Apr 28, 8:55 am, savagelook <[email protected]> wrote:
>
> >>>>> Yes, I am doing the same as Sylvain.  The swf I'm loading I am now
> >>>>> using as a MovieMaterial and it works fine.  I'm trying to increase
> >>>>> performance by using an AnimatedBitmapMaterial since I don't need
> >>>>> interaction with the swf.  Also, I am using Away3d 3.4.
>
> >>>>> // this works fine
> >>>>> new sphere:Sphere = new Sphere({material:new MovieMaterial(new
> >>>>> mySwf())});
>
> >>>>> // none of these work, I've also tried all combos of init vars as well
> >>>>> new sphere:Sphere = new Sphere({material:new
> >>>>> AnimatedBitmapMaterial(new mySwf())});
>
> >>>>> new sphere:Sphere = new Sphere({material:new
> >>>>> AnimatedBitmapMaterial(new mySwf() as MovieClip)});
>
> >>>>> var abm:AnimatedBitmapMaterial = new AnimatedBitmapMaterial(new
> >>>>> mySwf());
> >>>>> new sphere:Sphere = new Sphere({material:abm});
>
> >>>>> On Apr 28, 5:56 am, Sylvain Godbert <[email protected]> wrote:
>
> >>>>>> Hi Fabrice,
>
> >>>>>> If I change
>
> >>>>>> var animatedBitmapMaterial:AnimatedBitmapMaterial =  new
> >>>>>> AnimatedBitmapMaterial(new _TextureAnim(),{autoplay:true,
> >>>>>> loop:false});
>
> >>>>>> by
>
> >>>>>> var movieMaterial:MovieMaterial=  new MovieMaterial(new _TextureAnim(),
> >>>>>> {smooth:true, precision:5});
>
> >>>>>> that works just fine .Therefore, I think there is no problem with the
> >>>>>> anim I am loading
>
> >>>>>> Sylvain
>
> >>>>>> On 28 avr, 09:58, Fabrice3D <[email protected]> wrote:
>
> >>>>>>> I'm gonna look at it asap.
> >>>>>>> finishing a 3.4 project where I use it extensively with zero problems,
> >>>>>>> so issue should be small in 3.5 since there are no major changes made 
> >>>>>>> in there.
>
> >>>>>>> can you in meanwhile make sure that the swf is not holding any code 
> >>>>>>> that would prevent a frame to frame parsing.
> >>>>>>> or make sure its not an embed issue?
> >>>>>>> try addChild the mc to see if it works properly.
>
> >>>>>>> if it does show up and plays normally, try see if bits of delay fixes 
> >>>>>>> the issue...
>
> >>>>>>> Fabrice
>
> >>>>>>> On Apr 28, 2010, at 1:14 AM, savagelook wrote:
>
> >>>>>>>> same problem here, how do we fix this?
>
> >>>>>>>> On Apr 27, 1:19 pm, Sylvain Godbert <[email protected]> 
> >>>>>>>> wrote:
> >>>>>>>>> Hi,
>
> >>>>>>>>> I am trying to get the AnimatedBitmapMaterial material working but I
> >>>>>>>>> am facing some issues. Here is my code :
>
> >>>>>>>>> [Embed(source="/assets/anim.swf")] private var _TextureAnim:Class;
>
> >>>>>>>>> private function ExempleAnimatedBitmapMaterial():void
> >>>>>>>>> {
> >>>>>>>>> _Scene = new Scene3D();
>
> >>>>>>>>> _Camera3D = new Camera3D();
> >>>>>>>>> _Camera3D.zoom=2;
> >>>>>>>>> _Camera3D.z = 1000;
> >>>>>>>>> _Camera3D.focus=2000;
> >>>>>>>>> _Camera3D.lookAt( new Number3D(0, 0, 0) );
>
> >>>>>>>>> _View = new View3D({x: stage.stageWidth*.5, y : stage.stageHeight*.
> >>>>>>>>> 5});
> >>>>>>>>> _View.scene = _Scene;
> >>>>>>>>> _View.camera = _Camera3D;
> >>>>>>>>> addChild(_View);
>
> >>>>>>>>> var animatedBitmapMaterial:AnimatedBitmapMaterial=  new
> >>>>>>>>> AnimatedBitmapMaterial(new _TextureAnim(),{autoplay:true,
> >>>>>>>>> loop:false});
>
> >>>>>>>>> var plane:Plane = new Plane();
> >>>>>>>>> plane.pitch(90);
> >>>>>>>>> plane.material  = animatedBitmapMaterial;
>
> >>>>>>>>> _View.scene.addChild(plane);
>
> >>>>>>>>> }
>
> >>>>>>>>> ...
>
> >>>>>>>>> private function onEnterFrame(event:Event):void
> >>>>>>>>> {
> >>>>>>>>> _View.render();
>
> >>>>>>>>> }
>
> >>>>>>>>> Problem is that _View.render() brings up a pop up with an error
> >>>>>>>>> message saying that a null  reference is being used. Am I using it 
> >>>>>>>>> in
> >>>>>>>>> a wrong way ?
>
> >>>>>>>>> Sylvain
>
> >>>>>>>>> --
> >>>>>>>>> Subscription 
> >>>>>>>>> settings:http://groups.google.com/group/away3d-dev/subscribe?hl=en

Reply via email to