package{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.render.BasicRenderEngine;
import flash.display.DisplayObject;
import org.papervision3d.objects.DisplayObject3D;
public class PV3DCube extends Sprite
{
private var viewport: Viewport3D;
private var scene: Scene3D;
private var camera: Camera3D;
private var wireframeMaterial: WireframeMaterial;
private var cube: Cube;
private var cube2: Cube;
private var cube3: Cube;
private var cube4: Cube;
private var cube5: Cube;
private var cube6: Cube;
private var cube7: Cube;
private var cube8: Cube;
private var cube9: Cube;
private var cube10: Cube;
private var cube11: Cube;
private var cube12: Cube;
private var cube13: Cube;
private var cube14: Cube;
private var cube15: Cube;
private var cube16: Cube;
private var cube17: Cube;
private var cube18: Cube;
private var cube19: Cube;
private var cube20: Cube;
private var cube21: Cube;
private var cube22: Cube;
private var cube23: Cube;
private var cube24: Cube;
private var renderer: BasicRenderEngine;
//public var clickedCube: DisplayObject3D;
public function PV3DCube():void
{
//viewport = new BasicRenderEngine(width, height, scaleToStage, interactive);
viewport = new Viewport3D(550, 400, false, true);
addChild(viewport);
//instantiates a Scene3D instance
scene = new Scene3D();
//instantiates a Camera3D instance
camera = new Camera3D();
//renderer draws the scene to the stage
renderer = new BasicRenderEngine();
//public function EventAddedRemoved() {
//container.name = "Container Sprite";
//addChild(container);
//container.addEventListener(Event.ADDED, addListen);
//container.addEventListener(Event.REMOVED, removeListen);
//cube.addEventListener(MouseEvent.CLICK, removeCube);
//}
//WireframeMaterial, doubleSided draws the color on both sides of the geometry normals
wireframeMaterial = new WireframeMaterial(0x333333);
wireframeMaterial.doubleSided = true;
var materialsList:MaterialsList = new MaterialsList();
materialsList.addMaterial( wireframeMaterial, "front" );
materialsList.addMaterial( wireframeMaterial, "back" );
materialsList.addMaterial( wireframeMaterial, "left" );
materialsList.addMaterial( wireframeMaterial, "right" );
materialsList.addMaterial( wireframeMaterial, "top" );
materialsList.addMaterial( wireframeMaterial, "bottom" );
//cube = new Cube(MaterialList applied to object, width, depth, height, wSegments, dSegments, hSegments);
cube = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube.x=-1200;
scene.addChild(cube);
//container.addChild(cube);
cube2 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube2.x=-990;
scene.addChild(cube2);
cube3 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube3.x=-780;
scene.addChild(cube3);
cube4 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube4.x=-570;
scene.addChild(cube4);
cube5 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube5.x=-360;
scene.addChild(cube5);
cube6 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube6.x=-150;
scene.addChild(cube6);
cube7 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube7.x=-150;
cube7.y=-90;
scene.addChild(cube7);
cube8 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube8.x=-360;
cube8.y=-90;
scene.addChild(cube8);
cube9 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube9.x=-570;
cube9.y=-90;
scene.addChild(cube9);
cube10 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube10.x=-780;
cube10.y=-90;
scene.addChild(cube10);
cube11 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube11.x=-990;
cube11.y=-90;
scene.addChild(cube11);
cube12 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube12.x=-1200;
cube12.y=-90;
scene.addChild(cube12);
cube13 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube13.x=-1200;
cube13.y=-180;
scene.addChild(cube13);
cube14 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube14.x=-990;
cube14.y=-180;
scene.addChild(cube14);
cube15 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube15.x=-780;
cube15.y=-180;
scene.addChild(cube15);
cube16 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube16.x=-570;
cube16.y=-180;
scene.addChild(cube16);
cube17 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube17.x=-360;
cube17.y=-180;
scene.addChild(cube17);
cube18 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube18.x=-150;
cube18.y=-180;
scene.addChild(cube18);
cube19 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube19.x=-150;
cube19.y=-270;
scene.addChild(cube19);
cube20 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube20.x=-360;
cube20.y=-270;
scene.addChild(cube20);
cube21 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube21.x=-570;
cube21.y=-270;
scene.addChild(cube21);
cube22 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube22.x=-780;
cube22.y=-270;
scene.addChild(cube22);
cube23 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube23.x=-990;
cube23.y=-270;
scene.addChild(cube23);
cube24 = new Cube(materialsList, 200, 100, 75, 3, 3, 3);
cube24.x=-1200;
cube24.y=-270;
scene.addChild(cube24);
//set up enterFrame event
addEventListener(Event.ENTER_FRAME, onEnterFrame);
//cube.addEventListener(MouseEvent.CLICK, removeCube);
//define enterFrame Method, render the PV3D Scene and animate the primitive
function onEnterFrame(e:Event):void
{
/*cube.y -= .1;
cube.rotationX += 1;
cube2.y -= .2;
cube2.rotationX += 1;
cube3.y -= .3;
cube3.rotationX += 1;
cube4.y -= .4;
cube4.rotationX += 1;
cube5.y -= .5;
cube5.rotationX += 1;
cube6.y -= .6;
cube6.rotationX += 1;
cube7.y -= 1;
cube7.rotationX += 1;
cube8.y -= 2;
cube8.rotationX += 1;
cube9.rotationX += 1;
cube9.y -= 3;
cube10.rotationX += 1;
cube10.y -= 4;
cube11.rotationX += 1;
cube11.y -= 5;
cube12.rotationX += 1;
cube12.y -= 6;
cube13.rotationX += 1;
cube13.y -= .1;
cube14.y -= .2;
cube14.rotationX += 1;
cube15.y -= .3;
cube15.rotationX += 1;
cube16.y -= .4;
cube16.rotationX += 1;
cube17.y -= .5;
cube17.rotationX += 1;
cube18.y -= .6;
cube18.rotationX += 1;
cube19.y -= 1;
cube19.rotationX += 1;
cube20.y -= 2;
cube20.rotationX += 1;
cube21.y -= 3;
cube21.rotationX += 1;
cube22.y -= 4;
cube22.rotationX += 1;
cube23.y -= 5;
cube23.rotationX += 1;
cube24.y -= 6;
cube.rotationX += 1;
*/
renderer.renderScene(scene, camera, viewport);
camera.y= -400;
camera.x= -660;
}
//function removeCube(event:MouseEvent):void {
//clickedCube = DisplayObject3D(event.target);
//removeChild(clickedCube);
//}
}
}
}
This is my code. i would like to have the ability to click on a block and have it diffappear. Preferably each block have that event. I trie putting some code from another code into it but it does not like it. Anyone want to shoot me some hints on what the code is wanting from me? I have commented out the code that does not seem to be working. I commented out the cubeRotation, and the cube y axis bit for it to be clearer.
Carlos