as mentioned into the message after this one, you do not need to do any of this 
anymore, as its now handled by the Material now.
mimetype is also not required.

just new AnimatedMaterial( new myEmbedThatWasPreviouslyFailing());

Fabrice

On May 1, 2010, at 4:15 PM, savagelook wrote:

> 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