ActionScript 3.0 :: Change MovieClip Depth On Drag?
Mar 10, 2009
Is there a way to change the depth (index number) of a movieClip when I click on it to drag. Example:Say I have three circles. Each circle has a MOUSE_UP and MOUSE_DOWN eventListener. When one is clicked It will bring it to the front so when I drag it will be above the two other circles.
Obasically I have the codes I need to make my project work but the problem is when I put my drag and drop code with my swap depth on hittest code my drag code stops working heeres the codes:
Im trying to change the depth or index of a movieclip when its click. And bring it to the top of everything. The problem is that the movie clip is not added by addChild, but nested in a frame.
so if i try and use any of these:
anyMC.parent.setChildIndex(anyMC, anyMC.parent.numChildren-1); or public function bringMCToFront($mc:MovieClip){ $mc.parent.setChildIndex($mc, $mc.parent.numChildren-1);}
by it gives me this error: Error #1065: Variable setChildIndex is not defined.
the question is a bit more involed. I have a dynamic text box, which I've put inside a movieclip. I hae a number of movieclips that I bring in using attachMovie, but my movieclip which contains my text box is underneath all the other movieclips.
I would like to know how I can tell my movie to display above all the other?
I have been trying to change the depth of an object. I have only just started learning AS3, so I haven't looked into this yet.So far I have been using a trial-&-error method to try to get this piece of code to work which I found on a site, but I have not succeeded:
Code:
setChildIndex(example,numChildren-1);
I am putting this code in it's class, and I tried replacing the word example with 'this'. Can someone please help me? When I test the swf it comes up with this in output:
Code:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/setChildIndex() at Foreground/enterFrame()
i want when user rollover on any movieclip it comes on top after rollout it goes it's original position but, this code is showing error.ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
private function pan3D():void{ excelmc=thumbswork.excel officemc=thumbswork.office googlemc=thumbswork.google
right now I have some balls being generated like addChildAt(ball, 0);However what if I wanted to change the order of one specific ball?So make one ball 2 and add a alpha layer inbetween so the other balls cant be clicked.
----------------- function spiral(centerX, centerY, radius, sides, coils, rotation){ with(this){ moveTo(centerX, centerY); var awayStep = radius/sides; var aroundStep = coils/sides;// 0 to 1 based. var aroundRadians = aroundStep * 2 * Math.PI; rotation *= 2 * Math.PI; for(var i=1; i<=sides; i++){ var away = i * awayStep; var around = i *
[code]....
and I want some movie clips to appear infront as well as behind it, but right now it always appears on the bottom layer. Is there a way to attach the drawing to a movie clip or something so I can change it's depth?
I am trying to change the depth of MCs that are already positioned on the stage. However, there doesn't seem to be a property such as _depth. So can I even change the depth of an MC during the game and if so how would I do it?
this is a simple one. on Frame XX i want to have symbols on layers 1,2,3 (for sake of argument) at differnt depths. thats the tag to change the depth of multiple symbols?
Im having a dynamic textfield in on the main timeline which loads an external text file. Im also using addChild on the main timeline to display a mc. The problem is that the textfield is always behind the mc!! how can i change the depth of the textfield?
I am trying to change the depth of MCs that are already positioned on the stage. However, there doesn't seem to be a property such as _depth. So can I even change the depth of an MC during the game and if so how would I do it?
I've got a looping slideshow. I'd like to place a sliding menu at the bottom of the screen. The problem is I've created the slideshow dynamically, and the images being loaded all inherit a depth greater than 0.
how I can place the sliding menu at the very top of the presentation when it's already on the stage?
I have a function that states when movieclip1 is dragged and hits a line then it stops the drag, however it seems to stop the entire drag function in the swf on the other movieclips even though they arent called in the function.[code]
I'm looking to create a rotating set of images, simulated to look 3D... that can rotate either left or right, reactive to someones mouse location.
The path of the images would look like a flat oval, and as the images came to the forefront, they would be at full scale, have the lowest position (high _y), have the highest depth (appear in front of everything else) and be dead center _x.
As they slide left or right, they would reduce everything by a relative 50% to the final shift (scale, _y, and depth) until they got to the end, moving in an upward arc following the oval path. When they got to the end, and kept rotating beyond (move in the opposite _x. but appear to follow the flow of the arc), continuing to decrease in scale, _y, and depth.
How can I set the depth for a movieclip.Actually I want my popup to always come on the top and there is some problem using swapdepth.Would it help setting the depth of movieclip to be something like 10000??
Im trying to keep all my movieclips onto 1 layer/mother mc to speed up the flash display engine
I have these takable items(movieclips) that respawn after a while.
Initially i build the level starting with all the takable items before adding all the players/npc's. This way the player and npc's walk over the objects if they are not taken.
After an items respawns though, i have to re add them to the main mc and then they appear to be over the npc's and they seem to be moving under a carpet of stuff. Its a nice 3d effect but totally unwanted in this scenario.
Is there a way to make sure that items are added as child before a certain clip (like the player). I tried using addchildat but this gives me a index error now and then. I dont really understand how the depths are worked out by flash.
I was thinking of storing the original depth of an item movieclip and then on restore, addchild at at its old depth. Or is there a more sensible way?
Also: can two movieclips occupy the same index/depth level? or are the incemented or something?
I have 4 movieclips on my "layer1". Everytime my mouse is onRollOver of a movieclip, I just want THIS movieclip coming to the FRONT, that's to say the Highest Depth.
(in Visual Basic, "ZOrder(0)" is simple.. but harder in ActionScript.. lol )
I've found some many examples "around" this, but did'nt success to adapt the code to my simple needs !
Is it possible to keep a movieClip at the lowest depth and stack other movieClips on top. I have a container movieClip that I add a movieClip called floorTile. I want floorTile to always be at level 0 no matter what. Then when I click on another movieClip, I want this to be added on top of the floorTile.
ActionScript Code: //create a container to hold the floor tile and textures var myContainer:MovieClip = new MovieClip() myContainer.x=425;