Flex, Papervision3d: basic scenes, cameras, planes issue
- by user157880
// Import Papervision3D
   import org.papervision3d.Papervision3D;
   import org.papervision3d.scenes.;
   import org.papervision3d.cameras.;
   import org.papervision3d.objects.;
   import org.papervision3d.materials.;
public var scene:Scene3D;
   public var camera:Camera3D;
   public var target:DisplayObject3D;
   public var screenshotArray: Array;//array to store pictures
   public var radius:Number;
   public var image:Image;
private function initPapervision():void
   {
    target= new DisplayObject3D();
    camera= new Camera3D(target);
                                1067: Implicit coercion of a value of type org.papervision3d.objects:DisplayObject3D to an unrelated type Number.
    scene= new Scene3D(thisContainer);
    1137: Incorrect number of arguments.  Expected no more than 0.
scene.addChild( new DisplayObject3D() , "center" );  
}
public function handleCreationComplete():void
   {
image = new Image();
image.source    = "one_t.jpg";
image.maintainAspectRatio  = true;
image.scaleContent    = false;
image.autoLoad     = false;
image.addEventListener(Event.COMPLETE, handleImageLoad);  
image.load();
initPapervision();
}
public function handleImageLoad(event:Event):void
   {
init3D();
// onEnterFrame
addEventListener( Event.ENTER_FRAME, loop3D );
addEventListener( MouseEvent.MOUSE_MOVE , handleMouseMove);
}
public function init3D():void
   {
addScreenshots(20);
}
public function handleMouseMove(event:MouseEvent):void
   {
camera.y = Math.max( thisContainer.mouseY*5 , -450 );
}
public function addScreenshots(planeCount:Number):void
   {
    var obj:DisplayObject3D = scene.getChildByName ("center");
screenshotArray = new Array(planeCount);
var texture:BitmapData = new BitmapData(image.content.loaderInfo.width, image.content.loaderInfo.height, false, 0);
texture.draw(image);
// Create texture with a bitmap from the library
var materialSpace :MaterialObject3D = new BitmapMaterial(texture);
materialSpace.doubleSided = true;
materialSpace.smooth   = false;
radius   = 500;
camera.z  = radius + 50;
camera.y  = 50;
for (var i:Number = 0; i < planeCount; i++ )
{
 screenshotArray[i] = new Object()
 <b>screenshotArray[i].plane =  new Plane( materialSpace, 100, 100, 2, 2 );</b>
1180: Call to a possibly undefined method Plane.
 // Position plane
 var rotation:Number = (360/planeCount)* i ;
 var rotationRadians:Number = (rotation-90) * (Math.PI/180);
 screenshotArray[i].rotation = rotation;
 screenshotArray[i].plane.z = (radius * Math.cos(rotationRadians) ) * -1;
    screenshotArray[i].plane.x = radius * Math.sin(rotationRadians) * -1;
 screenshotArray[i].plane.y = 100;
 screenshotArray[i].plane.lookAt(obj);
 // Add to scene
 scene.addChild( screenshotArray[i].plane );
}
<b>scene.renderCamera(camera);</b>
                            <i>1061: Call to a possibly undefined method renderCamera through a reference with static type org.papervision3d.scenes:Scene3D.</i>
}
public function loop3D(event:Event):void
   {
var obj:DisplayObject3D = scene.getChildByName ("center");
for (var i:Number = 0; i < screenshotArray.length ; i++ ) 
{
 var rotation:Number = screenshotArray[i].rotation;     
 rotation += (thisContainer.mouseX/50)/(screenshotArray.length/10);
 var rotationRadians:Number = (rotation-90) * (Math.PI/180);
 screenshotArray[i].rotation = rotation;
 screenshotArray[i].plane.z = (radius * Math.cos(rotationRadians) ) * -1;
    screenshotArray[i].plane.x = radius * Math.sin(rotationRadians) * -1;
 screenshotArray[i].plane.lookAt(obj);
}
//now lets render the scene   
                            <b>scene.renderCamera(camera);</b>
                            <i>1061: Call to a possibly undefined method renderCamera through a reference with static type org.papervision3d.scenes:Scene3D.</i>
}
]]