package
{
import alternativa.engine3d.containers.ConflictContainer;
import alternativa.engine3d.core.Camera3D;
import alternativa.engine3d.core.View;
import alternativa.engine3d.lights.DirectionalLight;
import alternativa.engine3d.materials.FillMaterial;
import alternativa.engine3d.materials.FlatShadingMaterial;
import alternativa.engine3d.primitives.Box;
import alternativa.engine3d.primitives.GeoSphere;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
private var _container:ConflictContainer;
private var _light:DirectionalLight;
private var _material:FlatShadingMaterial;
private var _box:Box;
private var _circle:GeoSphere;
private var _camera:Camera3D;
private var _view:View;
public function Main():void
{
_container = new ConflictContainer();
_light = new DirectionalLight(0xffffff);
_light.z = -400;
_light.lookAt(0, 0, 0);
_container.addChild(_light);
_material = new FlatShadingMaterial(new BitmapData(10, 10, false, 0xffffff));
_box = new Box(10, 10, 10);
_box.setMaterialToAllFaces(new FillMaterial(0xff0000, 1, 1, 0x000000));
_container.addChild(_box);
_circle = new GeoSphere(100, 8);
_circle.calculateVerticesNormals(true, 1);
_circle.setMaterialToAllFaces(_material);
_container.addChild(_circle);
_camera = new Camera3D();
_camera.z = -1000;
_container.addChild(_camera);
_view = new View(stage.stageWidth, stage.stageHeight);
_camera.view = _view;
this.addChild(_view);
addEventListener(Event.ENTER_FRAME, onEnter);
}
private var r:Number = Math.PI / 90;
private var i:uint = 0;
private function onEnter(e:Event):void
{
_light.x = Math.sin(r * i) * 350;
_light.z = Math.cos(r * i) * 350;
_light.lookAt(0, 0, 0);
_box.x = Math.sin(r * i) * 350 + (_circle.x);
_box.z = Math.cos(r * i) * 350 + (_circle.y);
_box.y = (_circle.y);
_circle.x = ((stage.stageWidth / 2) - mouseX) * ( -1);
_circle.y = ((stage.stageHeight / 2) - mouseY) * ( -1);
i++;
_camera.render();
}
}
}
'ActionScript3.0 > Alternativa3D_7' 카테고리의 다른 글
Alternativa7_Camera3D (0) | 2011.10.13 |
---|---|
Alternativa7_ConflictContainer (0) | 2011.10.13 |
Alterrnativa7_Plane(top, bottom) (0) | 2011.10.12 |
Alternativa7_MouseEvent3D (0) | 2011.10.12 |
Alternativa7_TextureMaterial(); (0) | 2011.10.12 |