[Papervision3D] movieAssetMaterial play and stop

Javier España | javierespana.com info at javierespana.com
Wed Jul 15 10:13:14 PDT 2009


It gives me this error:

"Access of undefined property DislpayObjectContainer" :S

I'm googling and searching but it seems weird...

On Wed, Jul 15, 2009 at 1:09 PM, Damien Pegoraro <dpegoraro at actiplay.com>wrote:

> try  trace(movieAssetMaterial.movie["animatedDoll"]);
> or in a cleaner way
> trace(  (movieAssetMaterial.movie as
> DisplayObjectContainer).getChildByName("animatedDoll"));
>
>
> Javier España | javierespana.com a écrit :
>
>> I'm tracing this:
>>
>> trace(movieAssetMaterial);
>> trace(movieAssetMaterial.movie);
>> trace(movieAssetMaterial.movie.animatedDoll);
>>
>> First two are ok, but the last one generates 3 errors, any ideas?
>>
>> 1119: Access to a possibly undefined property animatedDoll through a
>> reference with static type flash.display:DisplayObject
>>
>> Maybe this will help someone help me =)
>>
>> 2009/7/15 Javier España | javierespana.com <http://javierespana.com> <
>> info at javierespana.com <mailto:info at javierespana.com>>
>>
>>    Tried both of those solutions and none of them worked :S I seem to
>>    be missing something :S Any other ideas?
>>
>>
>>    On Tue, Jul 14, 2009 at 7:31 PM, Mark I. Ross
>>    <nospam at therossman.org <mailto:nospam at therossman.org>> wrote:
>>
>>        what if you just replace these two lines:
>>
>>        var obj:*= getMaterial(plane as displayObject3D);
>>        obj.animatedDoll.stop();
>>
>>        with:
>>
>>        movieAssetMaterial.movie.animatedDoll.stop();
>>
>>
>>        also if you aren't going to do that, or it doesn't work, the
>>        other suggestion is:
>>
>>
>>        var obj:*= getMaterial(plane as displayObject3D);
>>
>>        should be:
>>
>>        var obj:*= getMaterial(walkingDoll as displayObject3D);
>>
>>
>>        HTH,
>>        mark
>>
>>
>>
>>        Javier España | javierespana.com <http://javierespana.com> wrote:
>>
>>>        Nope, can't seem to make it work, I may be doing something
>>>        wrong... Here's the complete code:
>>>
>>>        -----------------------------
>>>
>>>        package{
>>>            ///
>>>            import flash.display.Sprite;
>>>            import flash.events.Event;
>>>            import flash.events.MouseEvent;
>>>            ///
>>>            import org.papervision3d.view.Viewport3D;
>>>            import org.papervision3d.scenes.Scene3D;
>>>            import org.papervision3d.cameras.Camera3D;
>>>            import org.papervision3d.materials.*;
>>>            import org.papervision3d.objects.primitives.Plane;
>>>            import org.papervision3d.render.BasicRenderEngine;
>>>            ///
>>>            import org.papervision3d.lights.PointLight3D;
>>>            import org.papervision3d.materials.shaders.GouraudShader;
>>>            import org.papervision3d.materials.shaders.ShadedMaterial;
>>>            ///
>>>            public class walkingTest_04 extends Sprite{
>>>                ///
>>>                // VARIABLES
>>>                ///
>>>                private var viewport:Viewport3D;
>>>                private var scene:Scene3D;
>>>                private var camera:Camera3D;
>>>                private var movieAssetMaterial:MovieAssetMaterial;
>>>                private var walkingDoll:Plane;
>>>                private var renderer:BasicRenderEngine;
>>>                ///
>>>                // MATERIAL SHADER
>>>                ///
>>>                private var gShader:GouraudShader;
>>>                private var gMaterial:ShadedMaterial;
>>>                private var light:PointLight3D;
>>>                ///
>>>                // MOUSE MOVEMENT
>>>                ///
>>>                private var cameraPitch:Number = 90;
>>>                private var cameraYaw:Number = 270;
>>>                private var previousMouseX:Number = 0;
>>>                private var previousMouseY:Number = 0;
>>>
>>>                /*----------------------- INITIALIZE
>>>        -----------------------*/
>>>                /*----------------------- INITIALIZE
>>>        -----------------------*/
>>>                /*----------------------- INITIALIZE
>>>        -----------------------*/
>>>                /*----------------------- INITIALIZE
>>>        -----------------------*/
>>>                /*----------------------- INITIALIZE
>>>        -----------------------*/
>>>                /*----------------------- INITIALIZE
>>>        -----------------------*/
>>>
>>>                public function walkingTest_04():void{
>>>                    ///
>>>                    // VIEWPORT
>>>                    ///
>>>                    viewport = new Viewport3D(550, 400, false, true);
>>>                    addChild(viewport);
>>>                    ///
>>>                    // BASICS PV3D
>>>                    ///
>>>                    scene = new Scene3D();
>>>                    camera = new Camera3D();
>>>                    renderer = new BasicRenderEngine();
>>>                    ///
>>>                    // MATERIALS
>>>                    ///
>>>                    light = new PointLight3D();
>>>                    ///
>>>                    movieAssetMaterial = new
>>>        MovieAssetMaterial("walkingTest", true);
>>>                    movieAssetMaterial.animated = true;
>>>                    movieAssetMaterial.doubleSided = true;
>>>                    movieAssetMaterial.interactive = true;
>>>                    ///
>>>                    gShader = new GouraudShader(light, 0xFFFFFF,
>>>        0x111111, 30);
>>>                    gMaterial = new
>>>        ShadedMaterial(movieAssetMaterial, gShader);
>>>                    gMaterial.doubleSided = true;
>>>                    ///
>>>                    // OBJECTS
>>>                    ///
>>>                    walkingDoll = new Plane(gMaterial, 600, 600, 3, 3);
>>>                    scene.addChild(light);
>>>                    scene.addChild(walkingDoll);
>>>                    ///
>>>                    var obj:*= getMaterial(plane as displayObject3D);
>>>                    obj.animatedDoll.stop();
>>>                    ///
>>>                    // LISTENERS
>>>                    ///
>>>                    stage.addEventListener(Event.ENTER_FRAME,
>>>        procesarFrame);
>>>                    stage.addEventListener(MouseEvent.MOUSE_MOVE,
>>>        mouseMoving);
>>>                    stage.addEventListener(MouseEvent.MOUSE_WHEEL,
>>>        mouseWheel);
>>>                }
>>>
>>>                /*----------------------- MATERIAL STOP & PLAY
>>>        -----------------------*/
>>>                /*----------------------- MATERIAL STOP & PLAY
>>>        -----------------------*/
>>>                /*----------------------- MATERIAL STOP & PLAY
>>>        -----------------------*/
>>>                /*----------------------- MATERIAL STOP & PLAY
>>>        -----------------------*/
>>>                /*----------------------- MATERIAL STOP & PLAY
>>>        -----------------------*/
>>>                /*----------------------- MATERIAL STOP & PLAY
>>>        -----------------------*/
>>>
>>>                protected function getMaterial(donde:*):MovieClip{
>>>                    ///
>>>                    var mat:MovieMaterial = donde.material as
>>>        MovieMaterial;
>>>                    ///
>>>                    if(mat){
>>>                        ///
>>>                        //cast as our sub class, then test for null
>>>                        var mov:MovieClip = mat.movie as MovieClip;
>>>                        if(mov){
>>>                            ///
>>>                            // now you’re talking to the instance
>>>        directly
>>>                            return mov;
>>>                        }
>>>                    }
>>>                    ///
>>>                    return null;
>>>                }
>>>
>>>                /*----------------------- MOUSE MOVEMENT
>>>        -----------------------*/
>>>                /*----------------------- MOUSE MOVEMENT
>>>        -----------------------*/
>>>                /*----------------------- MOUSE MOVEMENT
>>>        -----------------------*/
>>>                /*----------------------- MOUSE MOVEMENT
>>>        -----------------------*/
>>>                /*----------------------- MOUSE MOVEMENT
>>>        -----------------------*/
>>>                /*----------------------- MOUSE MOVEMENT
>>>        -----------------------*/
>>>
>>>                private function mouseWheel(event:MouseEvent):void{
>>>                    ///
>>>                    camera.moveForward(10 * event.delta);
>>>                }
>>>                        private function
>>> mouseMoving(event:MouseEvent):void{
>>>                    ///
>>>                    var differenceX:Number = event.stageX -
>>>        previousMouseX;
>>>                    var differenceY:Number = event.stageY -
>>>        previousMouseY;
>>>                     ///
>>>                    cameraPitch += differenceY;
>>>                    cameraYaw += differenceX;
>>>                    ///
>>>                    previousMouseX = event.stageX;
>>>                    previousMouseY = event.stageY;
>>>                }
>>>
>>>                /*----------------------- ON ENTER FRAME
>>>        -----------------------*/
>>>                /*----------------------- ON ENTER FRAME
>>>        -----------------------*/
>>>                /*----------------------- ON ENTER FRAME
>>>        -----------------------*/
>>>                /*----------------------- ON ENTER FRAME
>>>        -----------------------*/
>>>                /*----------------------- ON ENTER FRAME
>>>        -----------------------*/
>>>                /*----------------------- ON ENTER FRAME
>>>        -----------------------*/
>>>
>>>                private function procesarFrame(e:Event):void{
>>>                    ///
>>>                    // MOUSE MOVEMENT
>>>                    ///
>>>                    cameraPitch %= 360;
>>>                    cameraYaw %= 360;
>>>                    ///
>>>                    cameraPitch = cameraPitch > 0 ? cameraPitch : 0.0001;
>>>                    cameraPitch = cameraPitch < 90 ? cameraPitch :
>>>        89.9999;
>>>                    ///
>>>                    camera.orbit(cameraPitch, cameraYaw);
>>>                    ///
>>>                    // LIGHT MOVEMENT
>>>                    ///
>>>                    light.x = (mouseX - 275) * 5;
>>>                    light.y = (mouseY - 200) * -5;
>>>                    ///
>>>                    // PROCESS SCENE
>>>                    ///
>>>                    renderer.renderScene(scene, camera, viewport);
>>>                }
>>>            }
>>>        }
>>>
>>>        ------------------------
>>>
>>>        On Tue, Jul 14, 2009 at 4:24 PM, Buti <butilon at gmail.com
>>>        <mailto:butilon at gmail.com>> wrote:
>>>
>>>            it's a function inside obj. It is an example.
>>>
>>>
>>>            Javier España | javierespana.com
>>>            <http://javierespana.com> wrote:
>>>
>>>                But what does that rollover() function do?
>>>
>>>                On Tue, Jul 14, 2009 at 3:46 PM, Buti
>>>                <butilon at gmail.com <mailto:butilon at gmail.com>
>>>                <mailto:butilon at gmail.com
>>>                <mailto:butilon at gmail.com>>> wrote:
>>>
>>>                   I use this function. Don't remember where I got it.
>>>
>>>                   protected function getMaterial(donde:*):MovieClip{
>>>                          var mat:MovieMaterial = donde.material as
>>>                MovieMaterial;
>>>                          if( mat ){
>>>                          // cast as our sub class, then test for null
>>>                                  var mov:MovieClip = mat.movie as
>>>                MovieClip;
>>>                                  if( mov ){
>>>                                          // now you’re talking to
>>>                the instance directly
>>>                                          return mov;
>>>                                  }
>>>                          }
>>>                                          return null;
>>>                   }
>>>
>>>                   var obj:*= getMaterial(plane as displayObject3D);
>>>                   obj.rollover();
>>>
>>>
>>>
>>>                   Javier España | javierespana.com
>>>                <http://javierespana.com> <http://javierespana.com>
>>>
>>>                wrote:
>>>
>>>                       Hi there,
>>>
>>>                       I have managed to create a Plane with a
>>>                material that is a
>>>                       running movieClip with 8 frames. The thing is
>>>                that I want to be
>>>                       able to play and stop that movieClip that's
>>>                acting as the
>>>                       material of the Plane but can't seem to get to
>>>                it...
>>>
>>>                       Here's how I load it:
>>>
>>>                       movieAssetMaterial = new
>>>                MovieAssetMaterial("walkingTest", true);
>>>                       movieAssetMaterial.animated = true;
>>>                       movieAssetMaterial.doubleSided = true;
>>>                       movieAssetMaterial.interactive = true;
>>>
>>>                       walkingDoll = new Plane(movieAssetMaterial,
>>>                600, 600, 3, 3);
>>>                       scene.addChild(walkingDoll);
>>>
>>>                       That movieClip called "walkingTest" that I'm
>>>                using as the
>>>                       material, has another movieClip inside it
>>>                called animatedDoll
>>>                       that is the one I need to play and stop. Any
>>>                help on how to
>>>                       reach it? If I use:
>>>
>>>                       walkingTest.animatedDoll.stop();
>>>
>>>                       I get an error...
>>>
>>>                       Thanks a lot,
>>>
>>>                       Javier
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>                       _______________________________________________
>>>                       Papervision3D mailing list
>>>                       Papervision3D at osflash.org
>>>                <mailto:Papervision3D at osflash.org>
>>>                <mailto:Papervision3D at osflash.org
>>>                <mailto:Papervision3D at osflash.org>>
>>>
>>>
>>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>
>>>
>>>
>>>
>>>                   _______________________________________________
>>>                   Papervision3D mailing list
>>>                   Papervision3D at osflash.org
>>>                <mailto:Papervision3D at osflash.org>
>>>                <mailto:Papervision3D at osflash.org
>>>                <mailto:Papervision3D at osflash.org>>
>>>
>>>
>>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>
>>>
>>>
>>>
>>>  ------------------------------------------------------------------------
>>>
>>>                _______________________________________________
>>>                Papervision3D mailing list
>>>                Papervision3D at osflash.org
>>>                <mailto:Papervision3D at osflash.org>
>>>
>>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>
>>>
>>>
>>>
>>>            _______________________________________________
>>>            Papervision3D mailing list
>>>            Papervision3D at osflash.org <mailto:Papervision3D at osflash.org>
>>>            http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>
>>>
>>>
>>>  ------------------------------------------------------------------------
>>>        _______________________________________________ Papervision3D
>>>        mailing list Papervision3D at osflash.org
>>>        <mailto:Papervision3D at osflash.org>
>>>        http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>>
>>
>>        _______________________________________________
>>        Papervision3D mailing list
>>        Papervision3D at osflash.org <mailto:Papervision3D at osflash.org>
>>        http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Papervision3D mailing list
>> Papervision3D at osflash.org
>> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>>
>>
>
>
> _______________________________________________
> Papervision3D mailing list
> Papervision3D at osflash.org
> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090715/c862f115/attachment-0001.html>


More information about the Papervision3D mailing list