I am trying to get interactivity with the mc or the plane so that I can have rollover and click function applied to them. I have been unable to access the individual planes though, see (tellMeSomething). Any suggestions?
Thanks for the Help!
package {
import flash.events.Event;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;
import flash.geom.Point;
import fl.transitions.easing.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.utils.*;
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.geom.Point;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.view.BasicView;
import org.papervision3d.view.BitmapViewport3D;
import org.papervision3d.materials.MovieMaterial;
[SWF(width="940",height="300",backgroundColor="#ffffff",frameRate="60")]
public class InternalCarousel extends BasicView {
private static const NUMBER_OF_PLANES:int=11;
private var carousel:DisplayObject3D=new DisplayObject3D ;
private var bitmapViewport:BitmapViewport3D=new BitmapViewport3D(940,300);
private const blur:BlurFilter=new BlurFilter(0,0,0);
private const alphaTrans:ColorTransform=new ColorTransform(1,1,1,1,1,1,1,-35);
private var point:Point=new Point ;
trace("this is working");
public function InternalCarousel() {
bitmapViewport.fillBeforeRender=false;
addChild(bitmapViewport);
bitmapViewport.interactive=true;
camera.z=1;
for (var i:int=0; i<NUMBER_OF_PLANES; i++) {
var picLoader:MovieClip=new MovieClip ;
picLoader.graphics.beginFill(0x00FF00,1);
picLoader.graphics.drawRect(0,0,180,150);
picLoader.graphics.endFill();
picLoader.rotationY=360/NUMBER_OF_PLANES*i;
var material:MovieMaterial=new MovieMaterial(picLoader);
material.animated=true;
material.doubleSided=true;
material.interactive=true;
var plane:Plane=new Plane(material,360,280);
plane.rotationY=360/NUMBER_OF_PLANES*i;
plane.moveForward(900);
carousel.addChild(plane);
plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK,tellMeSomething);
function tellMeSomething(event:InteractiveScene3DEvent):void {
trace("something good");
}
}
scene.addChild(carousel);
startRendering();
}
override protected function onRenderTick(event:Event=null):void {
carousel.rotationY-=viewport.containerSprite.mouseX/200;
renderer.renderScene(scene,camera,bitmapViewport);
bitmapViewport.bitmapData.applyFilter(bitmapViewport.bitmapData,bitmapViewport.bitmapData.rect,point,blur);
bitmapViewport.bitmapData.colorTransform(bitmapViewport.bitmapData.rect,alphaTrans);
}
}
}