hello thanks, I can't do it. I create 2 functions, and change type var. but doesn't work.
I just want to rotate the 3d object, but I'm not creating the event function well in this case the function mov or I'm not using either the parameters. Please, you can send me a example. because i can't do it. sorry On 23 nov, 10:04, Revalis <[email protected]> wrote: > It might be how you're loading the 3ds file, or what you're casting it > to. Try this. > > //your variables > var logo:ObjectContainer3D; > > //create 2 new functions > function initLogo():void { > var loader:Loader3D = Max3DS.load("assets/vwc.3ds", > {texturePath:"assets/",name:"logo3D",loadersize:100}); > loader.rotationX = 20; > loader.useHandCursor = true; > > loader.addOnSuccess(onSuccess); > View.scene.addChild(loader); > > } > > function onSuccess(event:Loader3DEvent):void { > logo = e.loader.handle as ObjectContainer3D; > logo.addEventListener(MouseEvent3D.MOUSE_DOWN, mov); > > } > > Then call initLogo(); where you had the original block of code. > > On Nov 23, 8:40 am, juliancruz87 <[email protected]> wrote: > > > > > The MouseDown event is not working in away3d.core.base.Object3D object > > after loading at 3ds object using the Max3DS.load function, we adds > > the event listener using the object3D method addOnMouseDown (listener: > > function), but when you click the object it is not generating the > > event, but if we use a primitive object that works perfectly. Please > > we need help ASA because we don’t know what we are doing wrong. Below > > the code used. The Away3D version we are using is 3.4.0. > > > Thank you very much. > > > import away3d.cameras.Camera3D; > > import away3d.containers.View3D; > > import away3d.containers.ObjectContainer3D; > > > import away3d.loaders.Loader3D; > > import away3d.core.base.Object3D; > > import away3d.core.math.Number3D; > > import away3d.events.MouseEvent3D; > > import away3d.events.Object3DEvent; > > import away3d.events.Loader3DEvent; > > > import away3d.core.base.*; > > import away3d.core.utils.Cast; > > import away3d.core.render.*; > > import away3d.loaders.Max3DS; > > import away3d.loaders.utils.TextureLoader; > > > import flash.display.Sprite; > > import flash.events.Event; > > import flash.events.KeyboardEvent; > > import flash.ui.Keyboard; > > import flash.events.Event; > > import flash.events.MouseEvent; > > > [SWF(width="800", height="600", frameRate="600", > > backgroundColor="#000000")]; > > > var cam:Camera3D; > > var lastKey:uint; > > var keyIsDown:Boolean = false; > > var View:View3D; > > var loader:ObjectContainer3D; > > var lastMouseX:Number; > > var lastMouseY:Number; > > var logo:Loader3D; > > var obj3D:Object3D = new Object3D(); > > > cam = new Camera3D(); > > cam.z = -2000; > > cam.y = 250; > > cam.x = 250; > > > View = new View3D({camera:cam,x:300,y: > > 300,mouseChildren:false,mouseZeroMove:false}); > > addChild(View); > > View.render(); > > > stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDown); > > stage.addEventListener(KeyboardEvent.KEY_UP,keyUp); > > addEventListener(Event.ENTER_FRAME,onEnterFrame); > > stage.addEventListener(MouseEvent.MOUSE_DOWN,LogoMouseDown); > > > function onEnterFrame(e:Event):void{ > > > if(keyIsDown){ > > // if the key is still pressed, just keep on moving > > switch(lastKey){ > > case 87: cam.moveUp(10); break; > > case 83: cam.moveDown(10); break; > > case 65: cam.moveLeft(10); break; > > case 68: cam.moveRight(10); break; > > case Keyboard.UP : > > cam.moveForward(10); break; > > case Keyboard.DOWN : > > cam.moveBackward(10); break; > > } > > } > > // render the view > > View.render(); > > > } > > > function keyDown(e:KeyboardEvent):void{ > > lastKey = e.keyCode; > > keyIsDown = true;} > > > function keyUp(e:KeyboardEvent):void{ > > keyIsDown = false;} > > > function MouseDown(event:MouseEvent):void{ > > trace("menos");} > > > function LogoMouseDown(event:MouseEvent):void{ > > trace("si");} > > > function mov(event:MouseEvent3D):void{ > > var temp = event.object > > trace(temp); > > trace("si"); > > > } > > > logo = Max3DS.load("assets/vwc.3ds", > > {texturePath:"assets/",name:"logo3D",loadersize:100}); > > obj3D = logo.handle; > > obj3D.rotationX = 20; > > obj3D.useHandCursor = true; > > View.scene.addChild(obj3D); > > obj3D.addOnMouseDown(mov);
