There is a Papervision list, I think generally these kinds of questions
are more appropriate there.
 

Jason Merrill
Bank of America 
Global Technology & Operations & Global Risk L&LD
eTools & Multimedia 

Join the Bank of America Flash Platform Developer Community
<blocked::http://sharepoint.bankofamerica.com/sites/tlc/flash/default.as
px>  

Are you a Bank of America associate interested in innovative learning
ideas and technologies?
Check out our internal  GT&O Innovative Learning Blog
<blocked::http://sharepoint.bankofamerica.com/sites/ddc/rd/blog/default.
aspx>  & subscribe
<blocked::http://sharepoint.bankofamerica.com/sites/ddc/rd/blog/_layouts
/SubNew.aspx?List=\{41BD3FC9-BB07-4763-B3AB-A6C7C99C5B8D\}&Source=http:/
/sharepoint.bankofamerica.com/sites/ddc/rd/blog/Lists/Posts/Archive.aspx
> . 

 


________________________________

        From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Simanta Guha Roy
        Sent: Thursday, July 03, 2008 10:40 AM
        To: [email protected]
        Subject: [osflash] Proplem in loading images in 3d Carousel
        
        
        Hello All,
        
        I am new to Papervision 3d and having a strange problem. I am
trying to make a 3d Carousel which will load images from a xml file. I
am successfull in parsing the xml file but the images are not showing. I
am using Scene3D instead of MovieScene3D. I have checked Great White
classes and did not find MobieScene3D class. So I am not sure whether
MovieScene3D has been removed from GreatWhite or not.
        
        Below is my code:
        
========================================================================
======================================================
        package 
        {
            //========= Flash Clases ======================
            import flash.display.Stage;
            import flash.display.StageQuality;
            import flash.display.StageAlign;
            import flash.display.StageScaleMode;
            import flash.display.Sprite
            import flash.net.URLLoader;
            import flash.net.URLRequest;
            import flash.events.Event;
            import flash.events.IOErrorEvent;
            //==============================================
            
            // ============= Papervision3D Classes =====================
            import org.papervision3d.cameras.FreeCamera3D;
            import org.papervision3d.events.InteractiveScene3DEvent;
            import org.papervision3d.materials.BitmapFileMaterial;
            import org.papervision3d.objects.DisplayObject3D;
            import org.papervision3d.objects.primitives.Plane;
            import org.papervision3d.render.BasicRenderEngine;
            import org.papervision3d.scenes.Scene3D;
            import org.papervision3d.view.Viewport3D;
        
//===========================================================
            
            // ============= Caurina Classes =====================
            import caurina.transitions.Tweener;
            import caurina.transitions.properties.CurveModifiers;
        
//===========================================================
            
            
            public class Carousel extends Sprite
            {
                //Flash Properties
                protected var myXML:XML;
                protected var xmlPath:String = "images.xml";
                protected var xmlLoader:URLLoader;
                protected var imagesArray:Array = new Array();
                
                //Papervision3d properties
                private var container:Sprite;
                private var scene:Scene3D;
                private var camera:FreeCamera3D;
                private var planes:Array;
                private var currentPlane:DisplayObject3D;
                private var origin:DisplayObject3D;
                private var viewport:Viewport3D;
                private var renderer:BasicRenderEngine;
                private var anglePer:Number = (Math.PI*1) /
imagesArray.length;
                private var radius:Number = 400;
                private var angleX:Number = anglePer;
                
                //Papervision3d constants
                private static const NUM_PLANES:uint = 20;
                private static const BEZIER_DISTANCE:Number = 2000;
                private static const CAMERA_DISTANCE_FROM_PLANE:Number =
50;
                
                //Constructor
                public function Carousel()
                {
                    stage.quality = StageQuality.MEDIUM;
                    stage.scaleMode = StageScaleMode.NO_SCALE;
                    stage.align = StageAlign.TOP_LEFT;
                    
                    //Initialising the Caurina class
                    //CurveModifiers.init();
                    
                    container = new Sprite();
                    container.x = stage.stageWidth * 0.5;
                    container.y = stage.stageHeight * 0.5;
                    addChild(container);
                    
                    init();
                    init3d();
                }
                
                private function init():void
                {
                    xmlLoader = new URLLoader();
                    xmlLoader.load(new URLRequest(xmlPath));
                    xmlLoader.addEventListener(IOErrorEvent.IO_ERROR,
errorHandler);
                    xmlLoader.addEventListener(Event.COMPLETE,
onCompleteHandler);
                }
                
                private function errorHandler(e:IOErrorEvent):void
                {
                    trace("XML not loaded successfully");
                }
                
                private function onCompleteHandler(e:Event):void
                {
                    myXML = new XML(e.target.data);
                    
                    for(var i:int=0; i < myXML.img.length(); i++)
                    {
                        imagesArray.push([EMAIL PROTECTED]);
                    }
                    
                    createPlanes();
                    createListeners();
                }
                
                private function init3d():void
                {
                    viewport = new Viewport3D(stage.stageWidth,
stage.stageHeight, true, true);
                    addChild(viewport);
                    
                    renderer = new BasicRenderEngine();
                    
                    scene = new Scene3D();
                   
                    currentPlane = new DisplayObject3D();
                    origin = new DisplayObject3D();
                   
                    camera = new FreeCamera3D();
                    camera.zoom = 1;
                    camera.focus = 350;
                    
                }
                
                private function createPlanes():void
                {
                    planes = new Array();
           
                    for( var i:uint = 0; i < imagesArray.length ; i ++ )
                    {    
                        
                        var bfm:BitmapFileMaterial = new
BitmapFileMaterial(imagesArray[i]);
                        bfm.interactive = true;
                        bfm.oneSide = false;
                        bfm.smooth = true;
                        
                        
                        var p:Plane = new Plane(bfm, 162, 230, 2, 2);
                        p.x = Math.cos(i*anglePer) * radius;
                        p.z = Math.sin(i*anglePer) * radius;
                        p.rotationY = (-i*anglePer) * (180/Math.PI) +
270;
                       
                        scene.addChild( p );
                        planes.push( p );
                        
                     }
                }
                
                private function createListeners():void
                {
                   /* for( var i:uint = 0; i < planes.length; i ++ )
                    {
        
planes[i].addEventListener(InteractiveScene3DEvent.OBJECT_MOVE,
onObjectMove);
        
planes[i].addEventListener(InteractiveScene3DEvent.OBJECT_CLICK,
onObjectClick);
                       
                    }*/
                    
                    addEventListener( Event.ENTER_FRAME, onEnterFrame );
                }
                
                
                
                private function onEnterFrame(e:Event):void
                {
                    camera.x = Math.cos(angleX) * 1000;
                    camera.z = Math.sin(angleX) * 1000;
                   
                    renderer.renderScene(scene, camera, viewport);
                }
                
                
            }
        }
        
        
========================================================================
======================================================
        
        Can anybody guie me where I am making the mistake. Thanks in
advance for the help.
        
        Regards,
        Simanta
        
        

_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to