Mouse EventsDownload Example
// Class Main.as
package
{
import flare.basic.*
import flare.events.*
import flare.materials.*
import flare.primitives.*
import flash.display.*
import flash.events.*
public class Main extends Sprite
{
private var scene:Scene3D
public function Main()
{
stage.quality = "medium"
// creates the scene.
scene = new Scene3D( this )
// creates sphere and cube.
var sphere:Sphere = new Sphere( "mySphere" )
sphere.x = 10
var cube:Cube = new Cube( "myCube" )
cube.x = -10
// add objects to scene.
scene.addChild( sphere )
scene.addChild( cube )
// add objects listeners.
sphere.addEventListener( MouseEvent3D.CLICK, mouseClickEvent )
sphere.addEventListener( MouseEvent3D.MOUSE_OUT, mouseOutEvent )
sphere.addEventListener( MouseEvent3D.MOUSE_OVER, mouseOverEvent )
cube.addEventListener( MouseEvent3D.CLICK, mouseClickEvent )
cube.addEventListener( MouseEvent3D.MOUSE_OUT, mouseOutEvent )
cube.addEventListener( MouseEvent3D.MOUSE_OVER, mouseOverEvent )
// add scene update listener.
scene.addEventListener( Scene3D.UPDATE_EVENT, updateEvent )
// set camera position and orientation.
scene.camera.setPosition( 30, 30, -30 )
scene.camera.lookAt( 0, 0, 0 )
}
private function updateEvent(e:Event):void
{
scene.rotateY( 1 )
}
private function mouseClickEvent(e:MouseEvent3D):void
{
// change the material.
var randomColor:int = 0xffffff * Math.random()
var material:ShadedColorMaterial = new ShadedColorMaterial( "myMaterial", 0x000000, randomColor )
e.target.setMaterial( material )
}
private function mouseOverEvent(e:MouseEvent3D):void
{
// change scale.
e.target.setScale( 1.2, 1.2, 1.2 )
}
private function mouseOutEvent(e:MouseEvent3D):void
{
// reset to original scale.
e.target.setScale( 1, 1, 1 )
}
}
}

English