Pastebin launched a little side project called HostCabi.net, check it out ;-)Don't like ads? PRO users don't see any ads ;-)
Guest

Flare3D Collision Issue

By: a guest on Feb 19th, 2012  |  syntax: ActionScript 3  |  size: 2.36 KB  |  hits: 213  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package {
  2.         import flare.basic.*;
  3.         import flare.collisions.*;
  4.         import flare.core.*;
  5.         import flare.primitives.*;
  6.         import flare.system.*;
  7.         import flare.utils.*;
  8.         import flash.display.*;
  9.         import flash.events.*;
  10.         import flash.geom.*;
  11.        
  12.         public class Main extends Sprite {
  13.                 private var _scene:Scene3D;
  14.                 private var hero:Pivot3D;
  15.                 private var heroCollision:SphereCollision;
  16.                 private var _level:Pivot3D;
  17.                
  18.                 public function Main():void {
  19.                         if (stage) init();
  20.                         else addEventListener(Event.ADDED_TO_STAGE, init);
  21.                 }
  22.                
  23.                 private function init(e:Event = null):void {
  24.                         removeEventListener(Event.ADDED_TO_STAGE, init);
  25.                         _scene = new Viewer3D(this);
  26.                         _level = _scene.addChildFromFile("assets/test.f3d");
  27.                        
  28.                         _scene.addEventListener(Scene3D.COMPLETE_EVENT, onSceneComplete);
  29.                 }
  30.                
  31.                 private function onSceneComplete(e:Event):void {
  32.                         _scene.removeEventListener(Scene3D.COMPLETE_EVENT, onSceneComplete);
  33.                         var cube:Pivot3D = _level.addChild(new Cube("Collision", 50, 50, 50));
  34.                         cube.setPosition( -50, 0, 200);
  35.                         _createHero();
  36.                         _createCamera();
  37.                         _scene.addEventListener(Scene3D.UPDATE_EVENT, onSceneUpdate);
  38.                 }
  39.                
  40.                 private function _createCamera():void {
  41.                         _scene.camera = new Camera3D( "myOwnCamera" );
  42.                         _scene.camera.setPosition( 0, 1000, 0 );
  43.                         _scene.camera.lookAt(hero.x, hero.y, hero.z);
  44.                         _scene.camera.fieldOfView = 60;
  45.                 }
  46.                
  47.                 private function _createHero():void {
  48.                         var pos:Point = new Point(0, 215);
  49.                         var rad:Number = 5;
  50.                         hero = _scene.addChild(new Sphere("hero", rad));
  51.                         hero.x = pos.x;
  52.                         hero.z = pos.y;
  53.                         var offset:Vector3D = new Vector3D(0, 0, 0);
  54.                         heroCollision = new SphereCollision(hero, rad, offset);
  55.                         heroCollision.addCollisionWith(_level, true);
  56.                         heroCollision.reset();
  57.                        
  58.                         var sphere:Pivot3D = new Sphere("", rad);
  59.                         sphere.setPosition(offset.x, offset.y, offset.z);
  60.                         hero.addChild(sphere);
  61.                 }
  62.                
  63.                 private function onSceneUpdate(e:Event):void {
  64.                         var speed:Number = 1;
  65.                         if ( Input3D.keyDown( Input3D.UP ) ) hero.translateZ( speed );
  66.                         if ( Input3D.keyDown( Input3D.DOWN ) ) hero.translateZ( -speed );
  67.                         if ( Input3D.keyDown( Input3D.LEFT ) ) hero.translateX( -speed );
  68.                         if ( Input3D.keyDown( Input3D.RIGHT ) ) hero.translateX( speed );
  69.                        
  70.                         trace(heroCollision.slider());
  71.                        
  72.                         Pivot3DUtils.setPositionWithReference( _scene.camera, 0, 50, 0, hero );
  73.                 }
  74.                
  75.         }
  76.        
  77. }