
package
{
import flash.events.Event;
import flash.filters.BlurFilter;
import org.papervision3d.core.effects.view.ReflectionView;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.objects.primitives.Plane;
public class ReflectionExample extends ReflectionView{
private var container : DisplayObject3D;
private var plane : Plane;
private var box : Cube;
private var box2 : Cube;
private var matlist : MaterialsList;
public function ReflectionExample() {
init();
}
private function init() {
// relection setting
surfaceHeight = -300;
viewportReflection.filters = [new BlurFilter(4, 4, 8)];
//create material
var planeMat : ColorMaterial = new ColorMaterial(Math.random() * 0xFFFFFF);
planeMat.doubleSided = true;
matlist = new MaterialsList();
var face = new Array("back", "right", "front", "left", "top", "bottom");
for (var i:int = 0; i < 6; i++)
{
var colorMat : ColorMaterial= new ColorMaterial(Math.random()*0xFFFFFF);
matlist.addMaterial(colorMat, face[i]);
}
//create object
box = new Cube (matlist, 300, 300, 300);
box2 = new Cube (matlist, 300, 300, 300);
box.moveRight(300);
box2.moveLeft(300);
container = new DisplayObject3D();
container.addChild(box);
container.addChild(box2);
scene.addChild(container);
addEventListener(Event.ENTER_FRAME, onenterframe);
}
private function onenterframe (e:Event):void {
box.yaw(3);
box2.yaw(-3);
singleRender();
}
}
}