[Papervision3D] ISM in phunky is fixed

John Grden neoriley at gmail.com
Tue Nov 27 15:33:28 PST 2007


Soooo... did it fix your issues??!

On Nov 27, 2007 2:15 PM, John Lindquist <johnlindquist at gmail.com> wrote:

> Right, I was just bringing it up for all the copy and pasters out there.
>
>
> On Nov 27, 2007 12:34 PM, John Grden <neoriley at gmail.com> wrote:
>
> > just put this in the same folder structure or change the package and put
> > it where you want it.  This is what I use for setting my 3D scenes.  Creates
> > scene3d, camera and takes care of keeping the sprite where the scene is
> > drawn in the center of the stage
> >
> >
> > On Nov 27, 2007 1:19 PM, John Lindquist <johnlindquist at gmail.com> wrote:
> >
> > > John,
> > >
> > > Just FYI:
> > >
> > > I updated my svn and checked the google code svn, but there's no "
> > > com.rockonflash.papervision3d.flex.utils.Papervision3DScene;"
> > > available to test out this sample.
> > >
> > > -John
> > >
> > > On Nov 27, 2007 11:20 AM, John Grden <neoriley at gmail.com> wrote:
> > >
> > > >  man o man, this was a tricky little bugger but I think I finally
> > > > nailed it.  ISM and VirtualMouse have been updated and I've tested it with
> > > > the following code.  Just copy and paste into a new ActionScript project or
> > > > create a new AS file and use it with Flash as the main Document.
> > > >
> > > > It addresses:
> > > >
> > > > 1.  2 different objects overlapping
> > > > 2.  2 different objects using different types of materials (1 is
> > > > movie the other is a color material)
> > > > 3.  2 different objects using different types of materials
> > > > overlapping
> > > > 4.  all 3 types of event dispatch types:  ISM, DO3D and MovieClip
> > > > 5.  finds your car keys in 3 seconds flat.  Just kidding, I can't
> > > > back that up.
> > > >
> > > > anyway, please give it a shot if you were having issues and please
> > > > let me know if it fixes your issues.  again, this is in the phunky branch.
> > > >
> > > > package {
> > > >     import flash.display.Sprite;
> > > >     import
> > > > com.rockonflash.papervision3d.flex.utils.Papervision3DScene;
> > > >     import org.papervision3d.scenes.Scene3D;
> > > >     import org.papervision3d.objects.Plane ;
> > > >     import org.papervision3d.materials.ColorMaterial;
> > > >     import org.papervision3d.materials.MovieMaterial;
> > > >     import org.papervision3d.materials.BitmapMaterial;
> > > >     import flash.display.Bitmap;
> > > >     import flash.events.Event;
> > > >     import org.papervision3d.events.InteractiveScene3DEvent;
> > > >     import flash.events.MouseEvent;
> > > >     import flash.ui.Mouse;
> > > >     import com.blitzagency.xray.logger.XrayLog;
> > > >     import flash.display.MovieClip ;
> > > >     import flash.display.BlendMode;
> > > >     import org.papervision3d.materials.MovieAssetMaterial;
> > > >     import org.papervision3d.utils.virtualmouse.IVirtualMouseEvent;
> > > >     import com.blitzagency.xray.inspector.Xray ;
> > > >     import flash.display.DisplayObjectContainer;
> > > >     import com.blitzagency.xray.logger.util.ObjectTools;
> > > >     import com.blitzagency.xray.logger.util.PropertyTools;
> > > >     import flash.display.DisplayObject;
> > > >
> > > >     [SWF(backgroundColor="0xFFFFFF", width="450", height="350",
> > > > frameRate="30")]
> > > >     public class InteractiveSceneManager_test extends Sprite
> > > >     {
> > > >         private var pv3dContainer
> > > > :Papervision3DScene
> > > >         private var scene
> > > > :Scene3D;
> > > >
> > > >         private var plane                                    :Plane;
> > > >
> > > >         private var clrMat
> > > > :ColorMaterial = new ColorMaterial(0x00ff00, 1);
> > > >         private var bitmapMat
> > > > :BitmapMaterial;
> > > >
> > > >         private var log
> > > > :XrayLog = new XrayLog();
> > > >         //private var xray                                    :Xray
> > > > = new Xray();
> > > >
> > > >         //[Embed(source="textures/door.jpg")]
> > > >         //private var doorTexture:Class;
> > > >
> > > >         public function InteractiveSceneManager_test()
> > > >         {
> > > >             init();
> > > >         }
> > > >
> > > >         /*
> > > >          CCCCC  RRRRR   EEEEEEE   AAA   TTTTTT EEEEEEE
> > > > SSSSS  CCCCC  EEEEEEE NN  NN EEEEEEE
> > > >         CC   CC RR  RR  EE       AAAAA    TT   EE
> > > > SS     CC   CC EE      NNN NN EE
> > > >         CC      RRRRR   EEEE    AA   AA   TT   EEEE
> > > > SSSS  CC      EEEE    NNNNNN EEEE
> > > >         CC   CC RR  RR  EE      AAAAAAA   TT   EE
> > > > SS CC   CC EE      NN NNN EE
> > > >          CCCCC  RR   RR EEEEEEE AA   AA   TT   EEEEEEE
> > > > SSSSS   CCCCC  EEEEEEE NN  NN EEEEEEE
> > > >
> > > >         */
> > > >         public function init():void
> > > >         {
> > > >             // stuff is ready to go
> > > >             pv3dContainer = new Papervision3DScene(true);
> > > >             pv3dContainer.camera.zoom = 1;
> > > >             pv3dContainer.camera.focus = 1100;
> > > >
> > > >
> > > >
> > > >             pv3dContainer.addEventListener(Event.ADDED_TO_STAGE,
> > > > handleAddedToStage);
> > > >             addChild(pv3dContainer);
> > > >         }
> > > >
> > > >         public function handleAddedToStage(e:Event):void
> > > >         {
> > > >             scene = pv3dContainer.scene;
> > > >
> > > >             //var bm:Bitmap = new doorTexture();
> > > >             //bitmapMat = new BitmapMaterial(bm.bitmapData);
> > > >             //bitmapMat.interactive = true;
> > > >             clrMat.interactive = true;
> > > >
> > > >             var mc:MovieClip = new MovieClip();
> > > >             mc.graphics.beginFill(0xff0000, 1);
> > > >             mc.graphics.drawRect(0,0,200, 500);
> > > >             mc.graphics.endFill();
> > > >             mc.name = "movieMaterialMC";
> > > >
> > > >             var movieMat:MovieMaterial = new MovieMaterial(mc,
> > > > false, true);
> > > >             movieMat.interactive = true;
> > > >             movieMat.name = "movieMat";
> > > >
> > > >             plane = new Plane(movieMat,200, 500, 3, 3);
> > > >             plane.name = "plane_0";
> > > >
> > > >             var plane1:Plane = new Plane(clrMat,200, 500, 3, 3);
> > > >             plane1.moveRight(100);
> > > >             plane1.moveDown (100);
> > > >             plane1.moveForward(50);
> > > >             plane1.name = "plane_1";
> > > >
> > > >             mc.addEventListener(MouseEvent.MOUSE_OVER,
> > > > handleMouseOver);
> > > >             mc.addEventListener(MouseEvent.MOUSE_OUT,
> > > > handleMouseOut);
> > > >             mc.addEventListener(MouseEvent.CLICK, handleMouseClick);
> > > >
> > > >             plane.addEventListener(
> > > > InteractiveScene3DEvent.OBJECT_OVER , handleObjectOver);
> > > >             plane.addEventListener(
> > > > InteractiveScene3DEvent.OBJECT_OUT, handleObjectOut);
> > > >             plane.addEventListener(
> > > > InteractiveScene3DEvent.OBJECT_CLICK, handleObjectClick);
> > > >
> > > >             plane1.addEventListener(
> > > > InteractiveScene3DEvent.OBJECT_OVER, handleObjectOver);
> > > >             plane1.addEventListener(
> > > > InteractiveScene3DEvent.OBJECT_OUT, handleObjectOut);
> > > >             plane1.addEventListener (
> > > > InteractiveScene3DEvent.OBJECT_CLICK, handleObjectClick);
> > > >
> > > >             scene.interactiveSceneManager.addEventListener(
> > > > InteractiveScene3DEvent.OBJECT_OVER, handleISMOver);
> > > >             scene.interactiveSceneManager.addEventListener (
> > > > InteractiveScene3DEvent.OBJECT_OUT, handleISMOut);
> > > >             scene.interactiveSceneManager.addEventListener(
> > > > InteractiveScene3DEvent.OBJECT_CLICK, handleISMClick);
> > > >
> > > >             scene.addChild(plane);
> > > >             scene.addChild(plane1);
> > > >
> > > >             addEventListener(Event.ENTER_FRAME, handleLoop);
> > > >         }
> > > >
> > > >         public function handleMouseOver(e:MouseEvent):void
> > > >         {
> > > >             log.debug("**************MC OVER", e.target.name, e is
> > > > IVirtualMouseEvent);
> > > >             var mc:MovieClip = MovieClip(e.currentTarget);
> > > >             mc.graphics.clear ();
> > > >             mc.graphics.beginFill(0x0000ff, 1);
> > > >             mc.graphics.drawRect(0,0,200, 500);
> > > >             mc.graphics.endFill();
> > > >         }
> > > >
> > > >         public function handleMouseOut(e:MouseEvent):void
> > > >         {
> > > >             log.debug("**************MC OUT", e.target.name);
> > > >             var mc:MovieClip = MovieClip(e.currentTarget);
> > > >             mc.graphics.clear ();
> > > >             mc.graphics.beginFill(0xff0000, 1);
> > > >             mc.graphics.drawRect(0,0,200, 500);
> > > >             mc.graphics.endFill();
> > > >         }
> > > >
> > > >         public function handleMouseClick(e:MouseEvent):void
> > > >         {
> > > >             log.debug("MC CLICK", e.type, e.currentTarget.name);
> > > >         }
> > > >
> > > >         public function
> > > > handleObjectOver(e:InteractiveScene3DEvent):void
> > > >         {
> > > >             log.debug("**************OVER", e.displayObject3D.name);
> > > >         }
> > > >
> > > >         public function
> > > > handleObjectOut(e:InteractiveScene3DEvent):void
> > > >         {
> > > >             log.debug("**************OUT", e.displayObject3D.name);
> > > >         }
> > > >
> > > >         public function
> > > > handleObjectClick(e:InteractiveScene3DEvent):void
> > > >         {
> > > >             log.debug("**************CLICK", e.displayObject3D.name
> > > > );
> > > >         }
> > > >
> > > >         public function
> > > > handleISMOver(e:InteractiveScene3DEvent):void
> > > >         {
> > > >             log.debug("**************ISM OVER",
> > > > e.displayObject3D.name);
> > > >         }
> > > >
> > > >         public function handleISMOut(e:InteractiveScene3DEvent):void
> > > >
> > > >         {
> > > >             log.debug("**************ISM OUT",
> > > > e.displayObject3D.name);
> > > >         }
> > > >
> > > >         public function
> > > > handleISMClick(e:InteractiveScene3DEvent):void
> > > >         {
> > > >             log.debug("**************ISM CLICK",
> > > > e.displayObject3D.name);
> > > >         }
> > > >
> > > >         public function handleLoop(e:Event):void
> > > >         {
> > > >             scene.renderCamera(pv3dContainer.camera);
> > > >         }
> > > >     }
> > > > }
> > > >
> > > >
> > > > --
> > > > [  JPG  ]
> > > > _______________________________________________
> > > > 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
> > >
> > >
> >
> >
> > --
> > [  JPG  ]
> > _______________________________________________
> > 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
>
>


-- 
[  JPG  ]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://osflash.org/pipermail/papervision3d_osflash.org/attachments/20071127/6e4878ca/attachment-0001.html 


More information about the Papervision3D mailing list