Actionscript 3 :: Changing Depth Of An Object From Within Said Object?
Feb 6, 2011
So I have a bunch of objects (thumbnails) and I want every photo to be displayed on top of other photos once it's clicked. So what should I put inside the click handler inside the photo object?
my designer made a fla file where he has animated layers loads of them. All the images inside those animations are loaded from outside the swf.
Now, the issue is at one point in time I want some of the objects to go under another object ( current their on top) . If I do this visually the images inside the swf(loaded) are lost.
As the title says, i would like to have an object which is nested beneath another objects depth set higher than that of one the is NOT nested. Is this possible if so how, may be real easy and im just over-looking it but
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 have a Flash application that includes an MC (bitmap object) that is dynamically assigned to a Class. In that Class, other graphics are created, but the class MC is overlapping those graphics. Event though I tried dynamic depth swapping, it generally works, yet not for the inherent MC assigned to the class. The MC still overlaps the other graphic, even if I have swapped that graphic to the top depth
i have objects on my stage and when i rollover on each object he raize.exmeple u can see here (here i make only 2 objects):http: [url]....what i want to do is that all of the objects have the same depth but when one of my object rollovered and he start to raize get the top depth (up then other)
When I click on an object, I need it (technically it's parent object) to drop to the lowest level, but I'm having a heck of time. I've tried: stage.setChildIndex(this, 0); and stage.swapChildrenAt(0, getChildIndex(this)); Which seem like they would both do what I want, but both of which get an Error #2006: The supplied index is out of bounds.
I've also tried: stage.setChildIndex(e.target.parent, 0); Which produces Error #2025: The supplied DisplayObject must be a child of the caller. and stage.setChildIndex(this.parent, 0); Which doesn't error, but also doesn't do what I want it to do.
The program has a background image over which these lines are drawn.The problem which I am facing is that the image overshadows the lines and the lines are not visible to the user.Since these lines do not have an id, I am not sure as to how I can assign a depth to them?
So I have this Photo class than handles loading a pic, and dispatches an event when the loading is done with:[code]which is simple and works, but now I'd like to make something more advanced. I'd like to dispatch the load ratio.So far I have extended the Event class, with my own EventRatio class, and I can put properties on that class. Which is cool, but I need something more dynamic than just sending a fixed value.So, what is the best way to connect the Loader object of the Photo object, with the EventRatio object?
I'm coming to AS3 from Director Lingo. In Lingo, a 'sprite' is vaguely equivalent to an object in AS3 and a 'cast-member' roughly corresponds to an AS3 library symbol. In Lingo I make a lot of use of lines likesprite("image").member = 25which changes on the fly the cast-member associated with a sprite, giving an instant image change when the user drags a dial, for example. This is particularly useful because the cast members in Lingo can be addressed by their sequence numbers as well as their names (giving a sort of implicit array addressing).In AS3 I can't see how to replace an image object with another image (not just a simple variation of the original). And even if I could do that, I can't see how to get the pseudo array addressing facility which I need to allow me to choose by code what image from perhaps several hundred will do the replacing.I guess what I'm asking for is maybe contrary to simple OOP.
Is there any way to do this? Say I have a global variable called yarr: _global.yarr = textbox; and I want to change that in to a string, I want to change it to "textbox" instead of textbox. Is there any way to do that?
I've got another simple question. I have a mc who's bitmap that is associated with him I want to change.
[Code]...
When BlankClip is first created, I want to tell it to either have the same image as Block_0 or Block_1. Looking it up online, it seems like I have to use BitmapData somehow, but I'm really unfamiliar with things...I've been working on this same code for about 2 hours...
For the first stage, I was able to build a walk-through demo in flash pro by creating buttons that when clicked caused the flash to change to different frames. easy enough. Now for the final part of this project, I need to make the interface fully interactive, as I was trying before. ie: you can click any button and lights go on and off or a loop counter increments, etc. Since there is logic involved and too many permutations to do a frame for each possible state, I'm back to trying to do this in an object oriented way. I've got some test code here.
<fx:Script> <![CDATA[ protected function button1_clickHandler(event:MouseEvent):void {
[code]....
debugger has some errors, so i don't know what exactly it will do. the errors are at the last two if statements where i'm trying to change the object property setting of the label. there is another error at the last curly bracket.
the idea is that there are two labels and a button. the first label starts out visible. when the button is clicked, a counter is checked, and incremented, then the counter is again checked and the appropriate label has it's visible property set to true. the intent is that in a list of several labels, pressing the button scrolls down them, until you press while on the last, which resets the counter and the first label becomes the visible one.
I'm having a game in which i control an MC with the keyboard arrows and when i click outside of the flash application and back in the MC loses focus. The focus changes to a button within the stage. What i've observed is that the Flash Player has a built-in control that moves focus from an item to the other with the arrow keys.
i am making this simple drag and drop game using flash cs3 using as2.i got 4 games and it has the same codes but different game type.. basically it uses drag and drop.here is the problem, when i finish the game, and press the back button to go to the selecting game scene, the last object dropped in the previous game stays and appears in the scene after that.
below is the as2 code i am using.
--- // global variablesvar tabbingON = false;var draggingON = false;var selectedPiece = 0;var totalPieces = 10;var total = 0;var mySound = new Sound();var origPos:Array = new Array();var justHit = false;var offset = 50;var counter = 0; // function callsinitGame();
I have a string of about 5 movieclips that are tweened so that when you click left or right they slide in that direction. When you click on the movieclips themselves I want them to:
on mouse down - move to (y-5) on mouse-up - move back (y+5)
this all works fine, however after I have clicked on one of the movieclips to make it jump, when I click left or right to slide them all over again they don't slide with the rest of the clips anymore?
okey i am making this simple drag and drop game using flash cs3 using as2.
i got 4 games and it has the same codes but different game type.. basically it uses drag and drop.
here is the problem, when i finish the game, and press the back button to go to the selecting game scene, the last object dropped in the previous game stays and appears in the scene after that.
below is the as2 code i am using.
HTML Code: // global variables var tabbingON = false; var draggingON = false;
I know that you can change changeobject's color with AS3 is using colorTransform. However if I do this, then I can't really use filters. For example, if I apply DropShadowFilter on an object which color is changed with colorTransform, then the color of a shadow is the same as object's color. So I tried to use ColorMatrixFilter to change object's color. And it works with colors like FF0000, but it doesn't with colors like FFFFFF. IS there a way to change objects color to white using ColorMatrixFilter? I use the following methods:[code]
I've got a frame of code with two boxes on the stage. If you click on of them, it runs this code: ActionScript Code: charSelect=1; And if you click on the other box it runs this code: ActionScript Code: charSelect=2;
Now, on my main frame of code, I've got an init() function which runs all the initialise commands. It includes this: ActionScript Code: function init() //Loads assets to the stage and starts animations { if (charSelect == 1) { character.addChild(character); } if (charSelect == 2) { characterFemale.addChild(character); }}
These functions basically let you select which character is loaded to the stage with the instance name 'character'. All my control code is written in relation to the instance name 'character'. However, after I've clicked the box which selects which character to load to the screen, I get this error message: ActionScript Code: Scene 1, Layer 'Layer 1', Frame 2, Line 155 1061: Call to a possibly undefined method addChild through a reference with static type Class.
I need to move a movie from let's say '_root' and put it into '_root.source.pages.ph' on level 0 in the current state that it is in....is there anyway you can do this using actionScript? DuplicateMovie starts the movie over at frame one and doesn't delete the old movie and swapDepths require the movie to have the same parent.
I have a movie clip that has about 20 layers that make up four different groups. (Five of the layers work together)Any one of the four groups has to come to the front of the others at any time.Is there an easiesh way to swap depths of these groups?EG. Can you swap a folders depth for example?
Here is my issue. I have 6 MCs that are the same size and are on the same position on the stage. I am using AC variables to activate each one of them, here is an example of my script for the button: