Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 1.94 KB  |  hits: 14  |  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 flash.display.Sprite;
  3.   import flash.display.LoaderInfo;
  4.   import flash.events.Event;
  5.   import flash.geom.Vector3D;
  6.  
  7.   import away3dlite.primitives.Plane;
  8.   import away3dlite.primitives.Sphere;
  9.   import away3dlite.containers.View3D;
  10.   import away3dlite.containers.Scene3D;
  11.   import away3dlite.cameras.Camera3D;
  12.  
  13.   import jiglib.plugin.away3dlite.Away3DLiteMesh;
  14.   import jiglib.plugin.away3dlite.Away3DLitePhysics;
  15.   import jiglib.physics.RigidBody;
  16.   import jiglib.geometry.JPlane;
  17.   import jiglib.geometry.JSphere;
  18.  
  19.   [SWF(width="760", height="480", frameRate="30", backgroundColor="0xff0000")]
  20.   [Frame(factoryClass="Preloader")]
  21.  
  22.   public class Main extends Sprite{
  23.     private var params:Object = new Object();
  24.     private var view:View3D = new View3D();
  25.     private var camera:Camera3D = new Camera3D();
  26.     private var scene:Scene3D = new Scene3D();
  27.     private var physics:Away3DLitePhysics;
  28.  
  29.     public function Main():void{
  30.       if(stage) init();
  31.       else addEventListener(Event.ADDED_TO_STAGE, init);
  32.     }
  33.  
  34.     private function init(e:Event = null):void{
  35.       removeEventListener(Event.ADDED_TO_STAGE, init);
  36.  
  37.       for(var i:String in LoaderInfo(root.loaderInfo).parameters)
  38.         params[i] = LoaderInfo(root.loaderInfo).parameters[i];
  39.  
  40.       view.camera = camera;
  41.       view.scene = scene;
  42.       view.x = stage.stageWidth / 2;
  43.       view.y = stage.stageHeight / 2;
  44.      
  45.       addChild(view);
  46.  
  47.       physics = new Away3DLitePhysics(scene, 10);
  48.  
  49.       var ground:RigidBody = physics.createGround(null, 1000, 1);
  50.       var sphere:RigidBody = physics.createSphere(null, 30, 8, 8);
  51.       sphere.y = -500;
  52.  
  53.       camera.x = 1000;
  54.       camera.y = -1000;
  55.       camera.z = -1000;
  56.       camera.lookAt(new Vector3D(0, 0, 0));
  57.  
  58.       stage.addEventListener(Event.ENTER_FRAME, gameLoop);
  59.     }
  60.  
  61.     private function gameLoop(e:Event):void{
  62.       physics.step();
  63.       view.render();
  64.     }
  65.   }
  66. }