I think this is how it works:

the View object is one DisplayObject in Flash. All of the 3D objects within the 
View are rendered internally by Away3D. The View object uses Flash's built in 
mouse over, mouse down, and mouse out events, and updates the internal mouse 
events when these occur. As well, when you render the View, it also updates 
these internal mouse events. Without rendering, the roll over events can only 
occur when a mouse down, mouse over or mouse out event occurs on the parent 
View object. However, when you start rendering it updates each time you render, 
which helps fill in the gaps.

That's why I'm thinking that it might be nice to have some way to force the 
View to update all the internal mouse events without redrawing.

I wouldn't render on a mouse move, though. I used to use the mouse move 
listener a lot, but actually I avoid it lately, because it can fire much more 
often than every frame. Rendering on mouse move could potentially be much worse 
on performance than having a steady enter frame handler. As it is, I only 
render when I animate my camera position. For example:


Actuate.tween (Preview3DContainer.camera, 1, { x: 100, y: 100, z: 100 } 
).onUpdate (Preview3DContainer.render);




On Sun, 03 Jan 2010 15:53:01 -0800, elguapoloco 
<[email protected]> wrote:

I was able to re-create the issue you describe using the example I
posted on another thread you started:
http://www.wemakedotcoms.com/projects/wmdc2010/random/mouseEventTest/

The layout stops rotating once the view stops rendering (when all the
cubes are in a loop). Interestingly, the mouse over event fires when
you mouse down on a cube... Not sure why that is. Maybe calling a
view.render() on mouse move in the scene would be a decent compromise?

Cheers,

Jerome.

Reply via email to