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.