Debug DataDownload Example
// Class Main.as
package
{
import flare.basic.*
import flare.collisions.*
import flare.core.*
import flare.system.*
import flare.utils.*
import flash.display.*
import flash.events.*
public class Main extends Sprite
{
private var scene:Scene3D
private var collisions:Pivot3D
private var vector:Pivot3D
private var mouse:MouseCollision
public function Main()
{
stage.quality = "medium"
// creates the scene.
scene = new Viewer3D( this )
// define complete event.
scene.addEventListener( Scene3D.COMPLETE_EVENT, completeEvent )
// load 3d objects.
collisions = scene.addChildFromFile( "collisions.f3d" )
}
private function completeEvent(e:Event):void
{
// create mouse collision.
mouse = new MouseCollision( scene.camera, scene.canvas )
mouse.addCollisionWith( collisions )
// force Debug3D to draw over all objects.
Debug3D.priority = Number.MAX_VALUE
// draw Debug3D axis.
Debug3D.drawAxis( scene, 5, true )
// we only need to test in render event, but we can test also in update event.
scene.addEventListener( Scene3D.RENDER_EVENT, renderEvent )
}
private function renderEvent(e:Event):void
{
// remove Debug3D data.
Debug3D.removeBoundingBox( scene, true )
Debug3D.removePoly( scene, true )
// get mouse collision.
if ( mouse.test( Input3D.mouseX, Input3D.mouseY ) )
{
// get collision data.
var info:CollisionInfo = mouse.data[ 0 ]
// draw Debug3D data.
Debug3D.priority = 1
Debug3D.drawBoundingBox( info.mesh )
Debug3D.drawPoly( info.mesh, info.poly )
}
}
}
}

English