ActionScript 3.0 :: Swap Depth Of Movieclip Based On Y Location?
May 4, 2011
Code:
moviclip.swapDepths(movieclip._y);
and it worked perfectly.
but I decided that I wanted to continue the development of the game in AS3 (so that it will be more up to date and I could learn the new syntax), and I found the equivalent to swapDepths is setChildIndex. so I followed the new rules and came up with this code:Code: setChildIndex(character_mc, character_mc.y);but, sadly it does not work the same. the game becomes extremely laggy and almost unresponsive, but becomes normal again if I remove the code. So, my question is how can I add a similar code for this to work properly.
Here is my setup, I have an MC with a line, this line is tweened to move to the right, using a custom easing tool, it has a very elastic animation to it. It then, with similar elastic effect, moves back to the left. I also have an MC with a box placed directly right of the line. What I want to do is get the box to contract then expand based upon the x location of the line mc. My reason for this is that the elasticity of the animation for the line would make it very difficult for me to do this manually get the effect I desire, so I'm assuming theres some simple property I can use that calls the location of x then sets the proportions of the box based upon that.
i'm workin with some "self created windows" in my flash app. how can i put the window i click on front of the others? I found smth about swapDepth, but there is no swapDepth in as3.
This should be really easy to do, but i cant find anything from searching. It's all tuturials for buttons and stuff. All i want to do, is put a MC called "face" on top of everything. What exactly would be the AS3 for this, and where would i put it?
I want to place a MC on top of everything thats also inside the MC it's in.The MC to be placed on top must not be on top on everything on the stage, just on top of everything inside the MC that its located in.Is this possible? what would be the code? because i'm pretty poor with AS3.
We can swap depths of movie clips... ok....what about JPGs? I have an empty MC where I want to load images from an array and then starts swapping thier depths.Here is the script I use for loading them and the script I wans hoping will work for swapping thier depths:
onClipEvent (load){ var image_arr = new Array "1.jpg","2.jpg","3.jpg"....,"7.jpg"); for (var i=0;i<image_arr.length;i++)[code].............
How would I swap the depth of image 6 (image_arr[5].) and have it come to the surface?
I've finally decided to dive into AS 3.0, coming from a design background, It's been a struggle. I'm using the book "Learning AS 3.0 - A Beginners's Guide" and got stuck on Chapter 4 - Depth Management.
I have dynamically layout layout 5 boxes that overlap each other, after that, Im able to target each box with my Event Listener (evt.target.alpha -= 0.2), but I'm not able to swap their depths (this.setChildIndex(evt.target, this.numChildren-1)
Code: // Layout Boxes - Dynamically for(var i:Number=0; i < 5; i++){ var box:MovieClip = new Box();
We can swap depths of movie clips... ok....what about JPGs?I have an empty MC where I want to load images from an array and then starts swapping thier depths.Here is the script I use for loading them and the script I wans hoping will work for swapping thier depths:[code]How would I swap the depth of image 6 (image_arr[5].) and have it come to the surface?
I asked this question yesterday but I found out that my problem is using fullscreen my goal is 2 mc 2 buttons : if btn 1 is clicked mc1 fullscreen and mc2 appears at the right bottom corner on top of mc1 if btn 2 is clicked mc2 fullscreen and mc1 appears at the right bottom corner on top of mc2 stage.swapChildren or setChildIndex is the way but with the fullScreen I had this error appears
im having some trouble when trying to implement the swap depth function to movieclips that have the setmask function implimented to them. the problem is that i can get the swapdepth to work but when the setmask is implimented at the same time the movie clips will not swap depths.
the code that i am using to set the mask is _root.bgmasked.setMask(_root.dragger); this is on frame one in the action/code layer bgmasked is the imaged being masked by dragger.
If I want an object to obtain the highest depth onRelease, which method from the following (or any other) would be the best? Using a createEmptyMC at highest depth and then swap to with that hight or use DepthManager.setDepthTo()?
I am trying to swapping a movie clip with another movie clip keeping the x y coordinates in the same location as the original. This is to be done within a case statement. [code]...
I want to make praphics or images swap location, e.g. If I have 4 squares that are in a 2x2 box shape, I want to be able to select one sqaure then select another sqaure and make them swap positions, I would like this transition to be able to work vertically and horizontally.
What I'm looking to do is have an image swapped with another depending on the value of a variable, but I'd also like it to choose the image automatically.[code]...
what i want it to do is when a function is called if the var == 01 it will automatically swap that image with pic_01, if the var == 02 it will swap it with pic_02. However is there a way of doing this without having to actually write an if statement for each of the pics as there is going to be around 700 of them.
Im busy with a rpg graphics engine, while discovering as3 whilst doing it. So I made different classes for the world, tile managers and players, etc. But since I have a 45 degrees SNES rpg view on my world I need depth sorting based on their Y coordinate. At least my npc's and the middle tile layer need that. But all these objects are now all different classes now and the swapchilderen method is quite cumbersome. Do I need a whole messy cumbersome method to sort specific tiles and npc's based on their y coordinate or is there a simpler method to have proper depth sorting in as3?
I've been playing around with ActionScript 3. They have a new way of placing clips onto the stage, "addChild(clip)," which automatically places the clip onto the stage with it's own depth. So here's my problem, when making a tile based game, I have to constantly depth sort to make sure the object lower on the screen has the higher depth than an object higher on the screen. Pretty much, their depth depended on their y-coord. Does ActionScript 3 still let us play with depths?
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.
Question 1Whats a good example of removing objects from stage that aren't within the stages boundries. I first tryed using a transparent box and hittesting. then i realized that you cannot hittest an object that isn't on stage, to check if needs added. so i came up with this.
Code: for (nn=-1; nn<2;++nn){ if (this.hu1.room+nn>=0 && this.hu1.room+nn<this.walls.ar.length){ for each (n in this.walls.ar[hu1.room+nn].ar){[code]....
That way it only adds the object if its not currently on the display list or am i better off just giving all objects an onscreen:Boolean variable?
Basically, I want to have 5 bullet points on this flash document, and as you move your mouse, it measures the distance from the mouse to the text (each bullet point measured separately) and it effects the scale of the text. I don't want it to be drastic, but just something people would notice when they move their mouse around on the page to give the user a little bit more interactivity with this particular page.
I recently came across a small business site that had a homepage with there logo and some basic nav in the center with the business logoBut there entire background had a moving flash background made up of photos in the shape of words, that when you moved your mouse to the left, the background would move to the right, up and it would go down and so on as if it followed your mouse but inverted.
The idea is there are two buttons(Sprites), one on the left & one on the right, when either button is moused over a the script should start setting the alpha of the relevant visible element. (i'm not worried that they both would be fading out as the mouse moves left to right at this point)
ActionScript Code: private function turnOnInterfaceHinting():void { this.addEventListener(Event.ENTER_FRAME, InterfaceHinting); }
URL...I've written everything to detect when colors and teeth are selected, but I cannot figure out how to swap one movieclip for another. Right now I'm not using an actual image, just colored squares. I've set up a movieclip variable that is named each color. Basically I'd like to click a color on the bottom, then each time I click a tooth have it swap whatever movieclip is already there for the one of the color I selected.[code]
I've followed a few tutorials on Swapping depths, but they all refer to swapping the depth by using behaviors such as onRelease etc.
I would like to swap a MovieClip with another, but i want to do it at a given point on a timeline as opposed to doing it through a behavior so the swap isn't immediate.
I tried using the following on a keyframe this.swapDepths(second_mc); but nothing happened, the movieclip just runs through
I've uploaded my test file here:
[URL]
As you can see each movie clip runs when you click it, but i also want it to swapDepth (so the second movieclip is now on top to be clicked).
I use swapChildren(mc_1,mc_2) to switch depth between 2 movieclips from the root level. Everything work just fine....
but when I create a container_mc and place the two movieclips into it then the 1120: nullobject reference error occurs?? container_mc.swapChildren(mc_1,mc_2);
I am trying to make a timer that swaps two movie clips, so that each two seconds? Here is the code: var leftPillar:MovieClip = new Right(); leftPillar.x=150; leftPillar.y=250; leftPillar.width=550; leftPillar.height=400; The idea is that each 2 seconds the movie clip should change to which ever one is now visible. What is currently happening is that only one of the clips ever shows, (newLeftPillar).
I am trying to create a basic example. Using frames i know how to do that but i want to know how this can be done using as3. Using frame: A movieclip in which there are 6 frames: Red rectangle in first 3 frames Blue rectangle in last 3 frames