Can you try something like:

trace(event.children);

On Mon, Jul 20, 2009 at 3:57 AM, CUfon <[email protected]> wrote:

>
> Thanks for you suggest
> but i dont understand something
> here is my code:
>
> var room = Collada.load("floor0.dae",{materials:
> {urgenceID:colorShad1,Color_A06ID:colorShad2},autoLoadTextures :
> false,scaling:0.005});
> room.addOnSuccess(onLoaderSuccess);
>
> function onLoaderSuccess(event:LoaderEvent):void{
>        room = ObjectContainer3D(event.loader.handle);
>        room.addOnMouseOver(onMouseOverOnObject);
>        View.scene.addChild(room);
>        }
>
> function onMouseOverOnObject(event:MouseEvent3D):void {
>        var object:Object3D  = event.object;
>        var myMesh = event.object as Mesh
>        trace(myMesh.material)
>        }
>
> this always return "null"...and i don't understand why
> can you help me ?
>
> On 15 juil, 18:13, Rob Bateman <[email protected]> wrote:
> > Hey Cyril
> >
> > the MouseEvent3D returns a property "material" which is the material
> > instance you have rolled over in the mesh. if you use an if statement in
> > your listener, you can check which instance is which by comparing it to
> all
> > material instances:
> >
> > if (mouseEvent3D.material is myFirstMaterial)
> > ...do something
> > else if (mouseEvent3D.material is mySecondMaterial)
> > ...do something else
> > else if (mouseEvent3D.material is myThirdMaterial)
> > ...etc
> >
> > I agree that keeping a name property in the material object would help
> > though - will look into implementing that in the future
> >
> > cheers
> >
> > Rob
> >
> >
> >
> > On Fri, Jul 10, 2009 at 7:58 AM, Away3D <[email protected]> wrote:
> >
> > > The problem is that i will have a lot of room (it will be a plan of an
> > > hospital)  and i can't name my mesh in sketchup...so it will be very
> > > long to setup correct information on correct room:
> > > I will have to trace each mesh name and associated the room action....
> > > and find for example " mesh12 = urgency " it will be very long....
> > > an another trouble is that my room have commun plan so 1mesh can be 2
> > > or more room...
> > > It will be very easier if i can use material: in sketuchup i define
> > > the name of material with the name of a service and apply action for
> > > one color...
> >
> > > I see in the api an intersting property which is "view.mouseMaterial"
> > > but i haven't find the way to use it....
> > > thanks
> >
> > > On 9 juil, 21:41, ben <[email protected]> wrote:
> > > > Hi Cyril !
> > > > " implement differente action on each room/material "
> > > > well if you won't change the material, why not use the mesh as
> > > > reference for your actions ??
> >
> > > > Object3D(yourMesh).addOnMouseOver(action);
> >
> > > > function action(e:MouseEvent3D):void
> > > > {
> > > > var id:String =  e.target.name;
> > > >      switch(id){
> > > >           case "horseAss":
> > > >                kickit();
> > > >                break;
> > > >           case " LauraBushAss"
> > > >                kickItTwice();
> > > >                break;
> > > >          case " CarlaAss"
> > > >                kickItTen();
> > > >                break;
> > > >         default:
> > > >             trace(e.target.name);
> > > >                 }
> >
> > > > }
> >
> > > > if not, I know that a materialData (including name property) do
> exist,
> > > > but don't know how to access it... take a look at the API !
> >
> > --
> > Rob Bateman
> > Flash Development & Consultancy
> >
> > [email protected]




-- 
___________________

Actionscript 3.0 Flash 3D Graphics Engine

HTTP://AWAY3D.COM

Reply via email to