if the view is in a sprite / movieclip try setting that visible = false; not
the view. Same for mxml ui components.


On 24 October 2011 19:36, Hamid Reza <eabluebir...@gmail.com> wrote:

> yes i think , i need to go for loading SWFs , but still the question
> is for me that why we cannot change the visibility of views , the only
> way i can remove a view from the stage is when i dispose the view
> (view.dispose) ,,, view.visible = false or removechild(view) both of
> them they do not remove the view from the stage. im using away 3d 4
>
> On Oct 24, 11:37 pm, Darcey Lloyd <darcey.ll...@gmail.com> wrote:
> > Probably best to load SWFs in then with each view in each SWF, or hunt
> down
> > the singleton instances in the Away3D version you are using.
> >
> > On 24 October 2011 08:42, Hamid Reza <eabluebir...@gmail.com> wrote:
> >
> >
> >
> >
> >
> >
> >
> > > Thanks for the advice ,
> > > i also have tried the same thing , but unfortunately it didn't work
> > > for me , what i figured out was , if we have 2 views the view which is
> > > added the latest is kinda take over the whole app 3d view and if we
> > > want to switch to the prevues views again we need to initial them
> > > again  .
> >
> > > On Oct 24, 8:46 am, Darcey Lloyd <darcey.ll...@gmail.com> wrote:
> > > > I would do the following test app:
> >
> > > > 1. Create a simple app with 2 views running side by side.
> > > > 2. Put different primitives spinning around in each view / scene
> > > > 3. Place buttons to disable render and visibility of the views on
> click
> > > > 4. Place buttons to enable render and visibility of the view on click
> >
> > > > Having done the above steps should solve your problem.
> > > > If not, try loading in swf's running your views.
> >
> > > > D
> >
> > > > On 23 October 2011 19:57, Hamid Reza <eabluebir...@gmail.com> wrote:
> >
> > > > > Thanks Diogo , but i have lots of different objects to load im my
> > > > > views , and each view got different backgrounds, and so on , if
> you,
> > > > > do you think is there any way i can solve this problem , i have
> posted
> > > > > some part of my sample code in here .. thanks
> >
> > > > > in this main class i do the switching btween my views
> > > > > (myNinja3d:MyNinja3d and friendNinja3d:FriendNinja3d )
> >
> > > > > // Main Class ----------------------
> >
> > > > > [SWF(width="760", height="640" , backgroundColor="#95E795",
> > > > > frameRate="30")]
> >
> > > > >        public class Main extends Sprite
> > > > >        {
> > > > >                private var myNinja3d:MyNinja3d;
> > > > >                private var friendNinja3d:FriendNinja3d;
> >
> > > > >                public function Main()
> > > > >                {
> >
> > > > >                        myNinja3d = new MyNinja3d();
> > > > >                        friendNinja3d = new FriendNinja3d();
> >
> > > > >                        addChild(myNinja3d.view);
> >
> > > > >
>  stage.addEventListener(KeyboardEvent.KEY_DOWN,
> > > > > onKeyDown);
> > > > >                }
> >
> > > > >                private function onKeyDown(event : KeyboardEvent) :
> void
> > > > >                {
> > > > >                        if(event.keyCode == Keyboard.SPACE)
> > > > >                        {
> > > > >                                if(GlobalClass.currentScene ==
> > > "MyNinja3d")
> > > > >                                {
> > > > >                                        removeChild(myNinja3d.view);
> >
> > > > >
>  addChild(friendNinja3d.view);
> > > > >                                        GlobalClass.currentScene =
> > > > > "FriendNinja3d";
> >
> > > > >                                }else if(GlobalClass.currentScene ==
> > > > > "FriendNinja3d")
> > > > >                                {
> > > > >
>  removeChild(friendNinja3d.view);
> >
> > > > >                                        addChild(myNinja3d.view);
> > > > >                                        GlobalClass.currentScene =
> > > > > "MyNinja3d"
> > > > >                                }
> > > > >                        }
> > > > >                }
> >
> > > > >  -----------------------------------
> >
> > > > > this class extends my world 3d class and i simply add a cube on it
> > > > > with adiffrent background color and onframe enter it moves the cube
> >
> > > > > // MyNinja3d class -----------------------
> >
> > > > > package myClasses
> > > > > {
> > > > >        import away3d.materials.BitmapMaterial;
> > > > >        import away3d.primitives.Cube;
> >
> > > > >        import flash.display.BitmapData;
> > > > >        import flash.events.Event;
> >
> > > > >        public class MyNinja3d extends World3d
> > > > >        {
> > > > >                public var myTestCube:Cube;
> >
> > > > >                public function MyNinja3d()
> > > > >                {
> > > > >                        view.backgroundColor = 0X0000CC;
> >
> > > > >                        testAddCube();
> >
> > > > >                        this.addEventListener(Event.ENTER_FRAME,
> > > > > enterFrame,false,0,true);
> > > > >                }
> >
> > > > >                private function enterFrame(event:Event):void
> > > > >                {
> > > > >                        if( GlobalClass.currentScene == "MyNinja3d"
> )
> > > > >                        {
> > > > >                                view.render();
> >
> > > > >                                myTestCube.rotationX += 2;
> > > > >                                myTestCube.rotationY += 2;
> >
> > > > >                                trace("MyNinja3d")      ;
> > > > >                        }
> >
> > > > >                }
> >
> > > > >                public function testAddCube():void
> > > > >                {
> > > > >                        var bmp : BitmapData = new
> BitmapData(64,64);
> > > > >                        bmp.perlinNoise(200, 200, 2, Math.random(),
> > > true,
> > > > > true);
> > > > >                        var mat : BitmapMaterial = new
> > > BitmapMaterial(bmp);
> >
> > > > >                        myTestCube = new Cube();
> > > > >                        myTestCube.scale(4);
> >
> > > > >                        myTestCube.material = mat;
> >
> > > > >                        this.view.scene.addChild(myTestCube);
> > > > >                }
> > > > >        }
> > > > > }
> >
> > > > >  -----------------------------------
> >
> > > > > // FriendNinja3d class ------------------
> >
> > > > > package myClasses
> > > > > {
> > > > >        import away3d.materials.BitmapMaterial;
> > > > >        import away3d.primitives.Cube;
> >
> > > > >        import flash.display.BitmapData;
> > > > >        import flash.events.Event;
> >
> > > > >        public class FriendNinja3d extends World3d
> > > > >        {
> > > > >                public var friendTestCube:Cube;
> >
> > > > >                public function FriendNinja3d()
> > > > >                {
> > > > >                        view.backgroundColor = 0XFF00CC;
> >
> > > > >                        friendTestAddCube();
> >
> > > > >                        this.addEventListener(Event.ENTER_FRAME,
> > > > > enterFrame,false,0,true);
> > > > >                }
> >
> > > > >                private function enterFrame(event:Event):void
> > > > >                {
> > > > >                        if( GlobalClass.currentScene ==
> "FriendNinja3d"
> > > )
> > > > >                        {
> > > > >                                view.render();
> >
> > > > >                                friendTestCube.rotationX -= 0.5;
> > > > >                                friendTestCube.rotationY -= 0.5;
> >
> > > > >                                trace("FriendNinja3d");
> > > > >                        }
> >
> > > > >                }
> >
> > > > >                public function friendTestAddCube():void
> > > > >                {
> > > > >                        var bmp : BitmapData = new
> BitmapData(64,64);
> > > > >                        bmp.perlinNoise(200, 200, 2, Math.random(),
> > > true,
> > > > > true);
> > > > >                        var mat : BitmapMaterial = new
> > > BitmapMaterial(bmp);
> >
> > > > >                        friendTestCube = new Cube();
> > > > >                        friendTestCube.scale(3);
> >
> > > > >                        friendTestCube.material = mat;
> >
> > > > >                        this.view.scene.addChild(friendTestCube);
> > > > >                }
> > > > >        }
> > > > > }
> >
> > > > > ----------------------------
> >
> > > > > world 3d class is simply initial 3d scene
> >
> > > > > //  world 3d class ---------------------------
> >
> > > > >        public class World3d extends Sprite
> > > > >        {
> > > > >                public var view:View3D;
> >
> > > > >                public function World3d()
> > > > >                {
> > > > >                        initWorld();
> > > > >                }
> >
> > > > >                private function initWorld():void
> > > > >                {
> > > > >                        view = new View3D();
> > > > >
>  setViewSize((Main.instance.stage.stageWidth),
> > > > > (Main.instance.stage.stageHeight));
> > > > >                        setViewPosition();
> >
> > > > >                }
> >
> > > > >                public function setViewSize(worldWidth:int ,
> > > > > worldHeight:int):void
> > > > >                {
> > > > >                        view.width = worldWidth;
> > > > >                        view.height = worldHeight;
> > > > >                }
> >
> > > > >                public function setViewPosition(worldX:int = 0,
> > > worldY:int =
> > > > > 0):void
> > > > >                {
> > > > >                        view.x = worldX;
> > > > >                        view.y = worldY;
> > > > >                 }
> >
> > > > >        }
> >
> > > > > }
> >
> > > > > On Oct 23, 10:44 pm, Diogo Moraes <srto....@gmail.com> wrote:
> > > > > > wouldn't it be easier to switch only the current camera?
> >
> > > > > > 2011/10/23 Hamid Reza <eabluebir...@gmail.com>
> >
> > > > > > > Hi every body,
> > > > > > > I have created 2 simple 3d views and what im trying to do is to
> > > switch
> > > > > > > between these 2 views , what i do at first i add the first view
> > > using
> > > > > > > addchild() and through some events i remove the current child
> using
> > > > > > > removechild() and then ad the other view ,, till here it works
> fine
> > > ,
> > > > > > > i can go to the new view , but once i want to switch back (
> what i
> > > do
> > > > > > > remove the current view and add the view which i previously
> removed
> > > )
> > > > > > > the view dose not change , it just stops the current view
> > > > > > > interactions . if i do the switch action again the current view
> > > starts
> > > > > > > interaction agin, and seems like the last view is totally
> replaced
> > > ,
> > > > > > > dose and body can help me about it ? Thanks
>

Reply via email to