stop(); import away3d.core.scene.*; import away3d.objects.*; import away3d.core.math.*; import away3d.core.material.*; import flash.display.*; import flash.utils.getDefinitionByName; import fl.transitions.Tween; import fl.transitions.easing.*; import fl.motion.easing.*; var draggedElem; var view:View3D = new View3D({x:300,y:300}); //var scene = new Scene3D({}); view.scene.addOnMouseMove(dragElement); view.scene.addOnMouseDown(onMouseDown3D); function dragElement(e:MouseEvent3D):void { //trace ("on mousemove") if (Math.abs(e.sceneX)<200) if (draggedElem != undefined) { tx.text=e.sceneX.toString(); ty.text=e.sceneY.toString(); tz.text=e.sceneZ.toString(); var target=new Number3D(e.sceneX,0,e.sceneZ); plane4.rotationZ=e.sceneX/3; plane4.rotationX=e.sceneZ/5; //plane4.rotationZ=e.sceneX; /* draggedElem.x = e.sceneX; //draggedElem.y = e.sceneY; draggedElem.z = e.sceneZ; */ } } var tweeny:Tween; function onMouseDown3D(e:MouseEvent3D) { if (view.camera.y>600) tweeny=new Tween(view.camera, "y", Quadratic.easeIn, view.camera.y, 500, 0.5, true); else { tweeny=new Tween(view.camera, "y", Quadratic.easeIn, view.camera.y, 1000, 0.5, true); } //view.camera.y=500; trace("mouseDown"); } addChild(view); var img:BitmapData=imageFromLib("photo1"); var mat:PreciseBitmapMaterial = new PreciseBitmapMaterial(img, {}); var sphere:Object3D = new Sphere({material:mat, radius:150, segmentsW:20, segmentsH:20, y:50, x:10, z:10}); //view.scene.addChild(sphere); var cube1:Object3D = new Cube({material:mat, x:400,y:10,z:30,size:200}); view.scene.addChild(cube1); var plane4:Object3D = new Plane({material:mat,x:0,y:0,z:0,width:400,height:500,rotationY:0, rotationX:0,rotationZ:0}); view.scene.addChild(plane4); //plane4.mousable=true; draggedElem=plane4; var filterA:Array=new Array; filterA.push(new GlowFilter(0xFFFFFF, 1, 19, 19, 1, 1, false, false)); var blur:BlurFilter = new BlurFilter(); blur.blurX = 2; blur.blurY = 2; blur.quality = BitmapFilterQuality.LOW; filterA.push(blur); cube1.ownCanvas=true; cube1.filters = filterA; cube1.blendMode = BlendMode.MULTIPLY; view.camera.position = new Number3D(100, 900,100); view.camera.lookAt(plane4.position); view.camera.roll(225); trace("x"+view.camera.rotationX); trace("y"+view.camera.rotationY); trace("z"+view.camera.rotationZ); addEventListener(Event.ENTER_FRAME, onEnterFrame); function onEnterFrame(event:Event):void { //sphere.rotationY = getTimer() / 100; cube1.rotationY = getTimer() / 100; cube1.rotationZ = getTimer() / 100; view.render(); } function generateFromLib(source_ID:String):BitmapData { var classRef:Class = getDefinitionByName(source_ID) as Class; var mySprite:Sprite = new classRef(); var temp_bmd:BitmapData = new BitmapData(mySprite.width, mySprite.height, true, 0x00FFFFFF); temp_bmd.draw(mySprite, null, null, null, temp_bmd.rect, true); return temp_bmd; } //generates a bmd lib function imageFromLib(source_ID:String):BitmapData { var classRef:Class = getDefinitionByName(source_ID) as Class; return new classRef(classRef.width,classRef.height); }