Can anybody provide me the URL where I can post my Papervision3d queries in
the OSFlash site.

---------- Forwarded message ----------
From: Merrill, Jason <[EMAIL PROTECTED]>
Date: Thu, Jul 3, 2008 at 8:55 PM
Subject: Re: [osflash] Proplem in loading images in 3d Carousel
To: Open Source Flash Mailing List <[email protected]>


 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*

*Are you a Bank of America associate interested in innovative learning ideas
and technologies?
Check out our internal * *****GT&O Innovative Learning Blog****** &* *****
subscribe*.


 ------------------------------
*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
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to