forked from: Mad Cube
// forked from Carmon's Mad Cube
package
{
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Rectangle;
import net.hires.debug.Stats;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.view.BasicView;
public class CubeTileBitmapAnimatedTextured extends Sprite
{
private var view:BasicView;
private var cube:Cube;
private var bmp:BitmapData;
public function CubeTileBitmapAnimatedTextured()
{
view = new BasicView(stage.stageWidth, stage.stageHeight, true, false, "Target");
var rect :Rectangle = new Rectangle(0,0,32,32);
bmp = new BitmapData(32,32,true);
var mat:BitmapMaterial = new BitmapMaterial(bmp, true);
var matList:MaterialsList = new MaterialsList(
{
front: mat,
back: mat,
right: mat,
left: mat,
top: mat,
bottom: mat
} );
cube = new Cube(matList, 500, 500, 500, 1, 1, 1);
view.scene.addChild(cube);
view.camera.y = 0;
addEventListener(Event.ENTER_FRAME, onRenderViewport);
addChild(view);
addChild(new Stats());
}
private var count:int = 0;
private function onRenderViewport(e:Event):void
{
if(count==1){
Colorize();
count = 0;
}
count++;
cube.pitch(count);
cube.roll(count);
view.singleRender();
}
private function Colorize():void
{
var mc:MovieClip = new MovieClip();
for(var i:int = 0; i<10; ++i){
mc.graphics.beginFill(Math.random()*0xFFFFFF);
mc.graphics.drawCircle(16,16,24-(2*i));
//mc.graphics.drawCircle(16,16,24-(2*i));
mc.graphics.endFill();
}
bmp.draw(mc);
}
}
}