Oh, now its getting much clear , thanks Darcey for your advise :)
On Oct 25, 10:48 am, Darcey Lloyd <[email protected]> wrote: > Ah, responded too soon... Away3D 4 uses Stage3D, there is only 1 of these > and Away3D 4 is still in alpha... Probably got a few static / singleton > instances going on in the API and Stage3D being the only place GPU 3D can be > rendered then is probably going to cause some issues. > > See what happens with multiple swfs if not place all the objects and > backgrounds in 1 scene just keep them quite far apart so they are never in > view and you can then just move the camera. > > D > > On 25 October 2011 03:44, Darcey Lloyd <[email protected]> wrote: > > > > > > > > > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> > >> 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(); > > >> > > > > } > > ... > > read more »
