/**
* Copyright Scmiz ( http://wonderfl.net/user/Scmiz )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/6JmU
*/
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.display.Sprite;
import org.papervision3d.view.BasicView;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.shadematerials.GouraudMaterial;
import org.papervision3d.materials.BitmapMaterial;
public class FlashTest extends Sprite {
public function FlashTest() {
var view:BasicView = new BasicView(465, 465);
this.addChild(view);
view.camera.zoom = 50;
var container:DisplayObject3D = new DisplayObject3D();
container.rotationZ = 5.0;
view.scene.addChild(container);
var light:PointLight3D = new PointLight3D(false);
light.x = 500;
light.y = 300;
light.z = -100;
container.addChild(light);
var array:Array = new Array();
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(1, 1, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 1, 1, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 1, 1, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
array.push(0, 0, 0, 0, 0, 0, 1, 1);
var mat:GouraudMaterial = new GouraudMaterial(light, 0xf0f0f0);
var materials:MaterialsList = new MaterialsList();
materials.addMaterial(mat, "all");
var size:Number = 30;
for (var y:uint = 0; y < 8; ++y) {
for (var x:uint = 0; x < 8; ++x) {
for (var z:uint = 0; z < 8; ++z) {
var data:uint = array[(y * 64) + (z * 8) + x];
if (data > 0) {
var cube:Cube = new Cube(materials, size, size, size);
cube.x = -105 + (size * x);
cube.y = -105 + (size * y);
cube.z = -105 + (size * z);
container.addChild(cube);
}
}}}
view.startRendering();
var proc:Function = function(e:Event):void {
container.rotationY += 0.5;
};
this.addEventListener(Event.ENTER_FRAME, proc);
}
}
}