codice:
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.text.*;
import flash.media.Sound;
import flash.media.SoundMixer;
import flash.net.URLRequest;
import flash.utils.ByteArray;
import org.papervision3d.components.as3.collections.MaterialsListItem;
import org.papervision3d.core.components.as3.collections.MaterialsListItem;
import org.papervision3d.core.proto.*;
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import caurina.transitions.Tweener;
import org.papervision3d.core.Number3D;
[SWF(backgroundColor="0x000000", frameRate="300")]
public class testFilters extends MovieClip {
// _______________________________________________________________________
// vars
public var container : Sprite;
public var scene : MovieScene3D;
public var camera : FreeCamera3D;
public var cubeObj : DisplayObject3D;
// _______________________________________________________________________
// Constructor
public function testFilters(){
this.addEventListener(Event.ENTER_FRAME,loop3D);
init();
}
// _______________________________________________________________________
// Init
public function init():void{
container = new Sprite();
addChild(container);
container.x = this.stage.stageWidth / 2;
container.y = this.stage.stageHeight / 2;
scene = new MovieScene3D( container );
camera = new FreeCamera3D(1, 1000);
var cm:ColorMaterial = new ColorMaterial(0xFFFF33, 1, false)
var cml:MaterialsList = new MaterialsList( { all:cm } );
var cm2:ColorMaterial=new ColorMaterial(0x99FF33,1,false)
cubeObj = new Cube(cml,100,100,100,2,2,2);
scene.addChild(cubeObj);
var sphereObj2:Sphere = new Sphere(cm2, 100, 16, 16);
sphereObj2.x = 300;
scene.addChild(sphereObj2);
}
// _______________________________________________________________________
// loop3D
public function loop3D(event:Event):void {
//influence camera with mouse
cubeObj.rotationY+=container.mouseX/200;
cubeObj.rotationX+=container.mouseY/200;
//create filters
var filter:Array = new Array();
//outer blend glow
filter.push(new GlowFilter(0xCCCC00, 1, 10, 10, 2, 1, false, false));
//inner face glow
filter.push(new GlowFilter(0x00FF00, 1, 50, 50, 2, 1, true, false));
//shadow glow
filter.push(new GlowFilter(0x00AA00, 1, 90, 90, 1, 1, false, false));
//drop shadow
filter.push(new DropShadowFilter(4, 45, 0xcc0000, 1, 4, 4, 1, 1, false,
false));
//apply filters
//this.container.filters = filter;
cubeObj.container.filters = filter;
//render the scene
this.scene.renderCamera( camera );
}
}
}