jiglib, got some update last week, maybe some issue produce after that
btw, here's lastest example that seem to be work

http://jiglibflash.googlecode.com/svn/trunk/fp10/examples/away3d

hth

On 11 February 2010 22:07, metSyS <[email protected]> wrote:

> When I move plate fast up, and ball faling down it falls through the
> plane. I'm only start learning physic engines. May be somebody will
> advise which physic engine is better for away3d and some examples.
> Here is my code:
>
> package
> {
>        import away3d.cameras.HoverCamera3D;
>        import away3d.containers.ObjectContainer3D;
>        import away3d.containers.Scene3D;
>        import away3d.containers.View3D;
>
>        import flash.display.Sprite;
>        import flash.events.Event;
>        import flash.geom.Vector3D;
>
>        import jiglib.math.*;
>        import jiglib.physics.*;
>        import jiglib.physics.constraint.*;
>        import jiglib.plugin.away3d.*;
>
>        [SWF(width="1024", height="768", backgroundColor="#FFFFFF",
> frameRate="60")]
>        public class Away3DFlash3DPhysics extends Sprite
>        {
>                private var view:View3D;
>                private var cam:HoverCamera3D;
>                private var scene:Scene3D;
>
>                private var ground:RigidBody;
>                private var ball:RigidBody;
>                private var cube:RigidBody;
>
>                private var physics:Away3DPhysics;
>
>                public function Away3DFlash3DPhysics()
>                {
>                        stage.addEventListener(Event.ENTER_FRAME,
> onEnterFrame);
>
>                        init3D();
>
>                        initObjects();
>                }
>
>                private function init3D():void
>                {
>                        scene=new Scene3D();
>
>                        cam=new HoverCamera3D({distance:1000});
>                        cam.targetpanangle=cam.panangle=0;
>                        cam.targettiltangle=cam.tiltangle=10;
>
>                        view=new View3D({camera:cam, x:stage.stageWidth/2,
> y:stage.stageHeight/2});
>            addChild(view);
>
>                        physics=new Away3DPhysics(view, 8);
>                }
>
>                private function initObjects():void
>                {
>                        ground=physics.createCube({segmentsH:10,
> segmentsW:10, width:200,
> height:5, depth:200, rotationX:30, material:"silver"});
>                        ground.movable = true;
>                        ground.mass=100;
>                        ground.friction = 0.9;
>                        ground.restitution = 0.9;
>
>                        ball=physics.createSphere({radius:20,/*
> segmentsH:20, segmentsW:
> 20,*/ material:"green#red"});
>                        ball.mass=.25;
>                        ball.friction=.2;
>                        ball.restitution=8;
>                        ball.moveTo(new Vector3D(0, 1000, 0));
>                        ball.movable = true;
>                }
>
>                private function onEnterFrame(event:Event):void
>        {
>
>                        physics.engine.integrate(0.2);
>
>                        ground.rotationZ=(512-stage.mouseX)*0.1;
>
>                        ground.x=(512-stage.mouseX);
>                        ground.y=(384-stage.mouseY);
>
>                        if(ball.y<-3000)
>                        {
>
>                                ball.y=1500;
>                                if(ball.x<-512 || ball.x>512)
>                                {
>                                        ball.x=0;
>                                }
>                        }
>
>            cam.hover();
>            view.render();
>        }
>        }
>
> }
>



-- 
katopz
http://www.sleepydesign.com

Reply via email to