package 
{
import alternativa.engine3d.core.Camera3D;
import alternativa.engine3d.core.MouseEvent3D;
import alternativa.engine3d.core.Object3DContainer;
import alternativa.engine3d.core.View;
import alternativa.engine3d.materials.FillMaterial;
import alternativa.engine3d.materials.TextureMaterial;
import alternativa.engine3d.primitives.Box;
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.GlowFilter;
public class Main extends Sprite 
{
private var _container:Object3DContainer;
private var _box:Box;
private var _camera:Camera3D;
private var _view:View;
public function Main():void 
{
_container = new Object3DContainer();
var _material:FillMaterial = new FillMaterial(0xffffff, 0.05, 1, 0xffffff);
_box = new Box(130, 130, 130);
_box.setMaterialToAllFaces(_material);
_box.rotationX = 90 * Math.PI / 180;
_container.addChild(_box);
_camera = new Camera3D();
_camera.z = -300;
_container.addChild(_camera);
_view = new View(stage.stageWidth, stage.stageHeight);
_camera.view = _view;
this.addChild(_view);
_box.addEventListener(MouseEvent3D.ROLL_OVER, changeColor);
_box.addEventListener(MouseEvent3D.ROLL_OUT, boxOut);
_box.addEventListener(MouseEvent3D.CLICK, changeColor);
addEventListener(Event.ENTER_FRAME, onEnter);
}
private function changeColor(e:MouseEvent3D):void 
{
e.target.filters = [new GlowFilter(Math.random() * 0xffffff, 1, 5, 5, 5)];
}
private function boxOut(e:MouseEvent3D):void 
{
e.target.filters = null;
}
private function onEnter(e:Event):void 
{
_box.rotationX += 0.05;
_box.rotationY += 0.05;
_camera.render();
}
}
}

'ActionScript3.0 > Alternativa3D_7' 카테고리의 다른 글

Alternativa7_ConflictContainer  (0) 2011.10.13
Alterrnativa7_Plane(top, bottom)  (0) 2011.10.12
Alternativa7_TextureMaterial();  (0) 2011.10.12
Alternativa7_GeoSphere();  (0) 2011.10.12
Alternativa7_Sphere();  (0) 2011.10.12

+ Recent posts