[Papervision3D] movieAssetMaterial play and stop
Mark I. Ross
nospam at therossman.org
Tue Jul 14 15:31:43 PDT 2009
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 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
> http://osflash.org/mailman/listinfo/papervision3d_osflash.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20090714/55bb3e36/attachment-0001.html>
More information about the Papervision3D
mailing list