It is really strange though , as I use the same Drag3d class for your test
file and for mine , but in mine if I set drag update permanently the result
is very different..Here is the code:
package
{
    import away3d.cameras.HoverCamera3D;
    import away3d.cameras.lenses.PerspectiveLens;
    import away3d.core.math.Number3D;
    import away3d.events.MouseEvent3D;
    import away3d.materials.BitmapMaterial;
    import away3d.primitives.Sphere;
    import away3d.primitives.Trident;
    import away3d.tools.utils.Drag3D;

    import flash.display.BitmapData;
    import flash.events.Event;
    import flash.events.MouseEvent;

    [SWF(backgroundColor="#677999", frameRate="24", quality="LOW",
width="800", height="600")]
    public class Drag3dObjects extends AwayTemplate
    {
        private var _sphere:Sphere;
        private var _bitMat:BitmapMaterial;
        private var _drag3d:Drag3D;
        private var _hoverCam:HoverCamera3D;
        private var _oldMouseX:Number=0;
        private var _oldMouseY:Number=0;
        private var _canMove:Boolean=false;
        private var _canDrag:Boolean=false;
        private static const EASE_FACTOR:Number=0.9;
        public function Drag3dObjects()
        {
            super();
            setTrident();
            setHowerCamera();
            initDrag();
        }
        override protected function initGeometry():void{
            _sphere=new
Sphere({radius:35,material:_bitMat,segmentsH:20,segmentsW:20});
            _view.scene.addChild(_sphere);
            //_sphere.position=new Number3D(0,0,0);

            _sphere.addOnMouseDown(onMouse3DDown);
            _sphere.addOnMouseUp(onMouse3DUp);



        }
        private function setTrident():void{
            var trident:Trident=new Trident(1000,true);
            _view.scene.addChild(trident);
        }
        private function onMouse3DDown(e:MouseEvent3D):void{
            _canDrag=true;

            trace(_canDrag);
        }
        private function onMouse3DUp(e:MouseEvent3D):void{
            _canDrag=false;

            trace(_canDrag);
        }
        override protected function initListeners():void{
            stage.addEventListener(MouseEvent.MOUSE_DOWN,
onMouseDown,false,0,true);
            stage.addEventListener(MouseEvent.MOUSE_UP,
onMouseUp,false,0,true);
        }
        override protected function initMaterials():void{
            var bdata:BitmapData=new BitmapData(256,256);
            bdata.perlinNoise(26,26,18,1534,false,true,7,false);
            _bitMat=new BitmapMaterial(bdata);
        }
        override protected function onEnterFrame(e:Event) : void{
            super.onEnterFrame(e);
            _drag3d.updateDrag();///not good
            if(_canDrag){///////when updateDrag(); inside this statement ,it
works well
            }
                ////_drag3d.updateDrag();
            }
            if(_hoverCam){
                if(_canMove){
                    _hoverCam.panAngle = (stage.mouseX -
_oldMouseX)*EASE_FACTOR ;
                    _hoverCam.tiltAngle = (stage.mouseY -
_oldMouseY)*EASE_FACTOR ;

                }


                _hoverCam.hover();
            }


        }
        private function initDrag():void{
            _drag3d=new Drag3D(_view);
            _drag3d.object3d=_sphere;
            _drag3d.debug=true;
            _drag3d.plane="xy";///xy
            addEventListener(Event.ENTER_FRAME,onEnterFrame,false,0,true);
        }
        private function onMouseDown(e:MouseEvent):void{
            _oldMouseX=stage.mouseX;
            _oldMouseY=stage.mouseY
            _canMove=true;
        }
        private function onMouseUp(e:MouseEvent):void{
            _canMove=false;
        }
        private function setHowerCamera():void{
            _hoverCam=new HoverCamera3D();
            _view.camera=_hoverCam;
            _hoverCam.target=_sphere;
            _hoverCam.distance = 3000;
        //    _hoverCam.lens=new PerspectiveLens();
            _hoverCam.maxTiltAngle = 80;
            _hoverCam.minTiltAngle = 0;
            _hoverCam.wrapPanAngle=true;
            _hoverCam.steps=8;
            _hoverCam.yfactor=1///def 2
            _hoverCam.hover(true);

        }
    }
}

On Sat, Jul 24, 2010 at 6:10 PM, Fabrice3D <[email protected]> wrote:

> class is updated.
> As said in other thread, all works just fine on my machine.
> sended you offline a test class,
> let me know how it goes.
>
> Fabrice
>
> On Jul 24, 2010, at 4:22 PM, Michael Iv wrote:
>
> It looks like the class is buggy. the objects don't get dragged.Also as
> soon as the scene starts rendering the debug plaines are flying into
> infinity
>
> --
> Michael Ivanov ,Programmer
> Neurotech Solutions Ltd.
> Flex|Air |3D|Unity|
> www.neurotechresearch.com
> http://blog.alladvanced.net
> http://www.meetup.com/GO3D-Games-Opensource-3D/
> Tel:054-4962254
> [email protected]
> [email protected]
>
>
>


-- 
Michael Ivanov ,Programmer
Neurotech Solutions Ltd.
Flex|Air |3D|Unity|
www.neurotechresearch.com
http://blog.alladvanced.net
http://www.meetup.com/GO3D-Games-Opensource-3D/
Tel:054-4962254
[email protected]
[email protected]

Reply via email to