PDA

View Full Version : papervision, cube, addevent remove



minael2008
February 26th, 2009, 06:30 PM
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

Avdi
February 26th, 2009, 06:33 PM
Please first put all your Cubes in an Array and ask your question again