ActionScript 3.0 :: Keep Adding Children To A MC Already On The Screen?
Nov 10, 2009
I'm working on a project where I keep adding children to a MC already on the screen. There are two types of these children: Sprites that I use to draw lines using moveTo, lineTo, ect. Then there's sprites that have children inside of THEM that are bitmaps.
For some strange reason, the Sprites with the bitmaps on them always have a higher depth/index (AS3 terminology is still weird for me) than the normal Sprites.
Here's a diagram of my MC/children/children layers:
---------------=> (Sprites that draw lines)
(MC on Stage) =>
---------------=> (Sprites that hold bitmaps) => (Bitmap)
I am trying to make a function where if you click on one button, a new movieclip is added to the stage. When you click on that movieclip, it should play the closing and remove itself from the stage (removeChild).The problems I am running into are that when you click the button, it will add a new movieclip child for every click. I want it to only add one and any successive clicks would close it.Also I was successful in making the new movie clip play the closing but I cant figure out how to remove it from the stage. Its alpha fades to 0 as the closing, but its still there and just invisible.[code]
I've been asking way too many questions lately, but I'm bored since it's summer and decided to learn some. Basically, I want to know how to find out how many instances of an object or how many children are on the screen at a time.
I've attached the FLA.I'm trying to make a game where the guy kills rats that appear randomly as the scenery moves down, however every time I shoot the rat and remove the rat child, it throws an error that my actionscript is pointing to an inexistent rat. Hence my problem... is there a way to add many instances of the same class with AS3 at random intervals and remove them when it's shot with the bullet???
I am working on an application that has buttons (movieClips) to set the color of user input (graphics, type, etc...). When clicked, the selected button displays a movie clip of a palette of 35 colors.I open the palette with the following function (is that the same as a method?):function openPalette(event:MouseEvent):void event.target.addChild(colorPalette);}I can then click on the colors in the palette to select the color I want.However, since the palette is a child of the button, clicking on a color within the palette triggers the same function as clicking on the parent button again. I get the following error:ArgumentError: Error #2150: An object cannot be added as a child to one of it's children (or children's children, etc.). at flash.display::DisplayObjectContainer/addChild() at design_AS3_ii_fla::MainTimeline/openPalette()
So basically I've got a MovieClip called Jug and when the egg is clicked and dragged to the Jug I want it to disappear and then re-add itself in the place it first started. Aswell as this I want a variable to be added by 1 in value. I have tried fiddling around with this for a while now and I can't figure it out since when I remove child it gets errors. Here's the code:
I am creating a game and want to reward the player at the end of a level by playing an animation. I have created a timer to add the animation to the stage but cannot figure out how to remove the animation once the timer has completed counting. I am sure you wise scripters out there know the secrete to this mystery.
I've spent hours, and for all my self taught newbie-ness, I can't crack this: I have a navigation panel with several buttons. Lets call it mainNav. The mainNav buttons each add to the stage their corresponding MCs. They also remove any MCs from previous buttons currently on the stage. This is done by creating the MCs as variables, pushing those variables into an Array, and, when the mainNav button is pressed, calling the following function to remove the old (provided with assistance of the nice folks here), and then addChild(correspondingChild)
I'm trying to make a game where the guy kills rats that appear randomly as the scenery moves down, however every time I shoot the rat and remove the rat child, it throws an error that my actionscript is pointing to an inexistent rat. Hence my problem... is there a way to add many instances of the same class with AS3 at random intervals and remove them when it's shot with the bullet?
I am trying to add children to a dynamically added swf file, using AS3, before I add it to stage
Here is the code I have thus far,
AS3:
var mLoader:Loader = new Loader(); var mRequest:URLRequest = new URLRequest(glo.bal.base_url+"videos/vid_1.swf"); mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler_one); mLoader.load(mRequest);
[Code].....
Inside the vid_1 swf there is a movie clip called box_one, I would like to append a image to box_one, and only have the swf added to stage after the image file has been added to box_one.
i'm porting an old AS2 project to AS3, And have encounter a problem. I've tried a few different things but had no success.in AS2 when dynamically attaching a MC from the library i would sometimes use an array. the array would hold linkage reference's, like so;
ActionScript Code: var mc:String = state_ar[currentState]; this.container.attachMovie(mc,mc,this.getNextHighestDepth());
I am working on a game and want to reward the player with an animation at the end of a level. I have created a time and added the animation to the stage but I cannot figure out how to remove the animation once the timer has completed. Code: Select all/* Simple Timer Displays a countdown timer in the Output panel until 30 seconds elapse. This code is a good place to start for creating timers for your own purposes.
Instructions: 1. To change the number of seconds in the timer, change the value 30 in the first line below to the number of seconds you want. var celebration:Celebration; var fl_TimerInstance:Timer = new Timer(1000,30); fl_TimerInstance.addEventListener(TimerEvent.TIMER, fl_TimerHandler); fl_TimerInstance.removeEventListener(TimerEvent.TIMER, removeTimer); fl_TimerInstance.start(); [Code] .....
Adding / removing children (could be 10 times every few seconds)These children also have several animations associated with them
or
Adding all children once, and simply placing them out of stage view, and calling them back when needed to the stage (these will be still be running through their animation sequence while offstage, or they can be stopped) child.x -= 10000;
...I would like to override whatever function that adds the children to the parent Group and add them to the child viewstack instead but I can't seem to find where the adding occurs. Breakpoints in addChild and addElement shows that they are not called during the add.
I know it is possible to make instances/children interact with other objects by adding an eventListener to each child/instance.But how do you make a random instance/child interact with another random instance/child?Example: let a bunch of spaceships get damaged by a bulletrain by using addChild to place both spaceships and bullets on the stage.
I'm making a OSX-finder-type file browser in CS4.The Structure for the folder and files is being generated by a PHP in a XML, heres an example:(sorry the xml is not sorted, but the command i'm using in php doesn't sort it)
I'm trying to add a class to the screen so the stuff I have in the class can be seen. I'm using a class called "Upgrades" to add the other class "BuyStuffContent" to the screen through [code]This is a game and I'm using Model,View, Controller if that helps. Anything added to _gameModel. screen goes on the screen. I tried this in another section of the game and it worked fine.[code]
I have an issue with Bitmap object. I have a photo gallery which I read from an XML file. Each photo has a path, id and description. When I'm adding the picture to the screen I am doing as follows:
[Code]...
My problem is that when I click the bitmap added to the container I must know what picture this is by getting an id. This way I know what gallery I am to open. A bitmap object does not have this property to be set (id and path). I have decided to create a class which extends Bitmap and then add these attributes within this class. So instead of using a bitmap I would use something like:
so i am having trouble with adding a box randomly on the screen. I have done this before and it seems like it should have a relatively easy solution. But alas, i have not been able to figure this out. This is the info: I have a box mc with exporting as Box. I have a Box Actionscript file with this code in it:
[Code]...
Nothing happens at all but there is no errors. Also i would like to keep everything in the classes.
On my previous post Adding a object randomly on the screen in as3 I explained the specifics of my situation. But I will go over it again. I have a box with a class(not my document class. I do have one called Main but this one is just an AS class referencing my box.) The classes name is Box and my MC box is exported as Box. This is the codethis is in my main file on the main timline
addEventListener(Event.ENTER_FRAME, createbox); var _box:Box = new Box; var boxlimit:int = 2;
I am having trouble accessing this movieclip and adding it to the stage.I have just started using external .as files to code game characters and this is the only part that gets me at the moment.The character works completely fine if they are already on the stage when the frame loads, but I cannot figure out how to access this movieclip and place it on the stage from the MAIN timeline, where I plan on running the main game code.I have tried tons of variations, is there anyone that can please tell me the proper way to do this with this linkage?
I am attempting to add a child to the stage with the following code:
Actionscript Code: //Buttons: Adds movie clip to stage.readtomeShortA1.addEventListener(MouseEvent.CLICK, playShortAReadMe1);function playShortAReadMe1(e:TimerEvent):void{ var playShortA1:ShortAReadMe1 = new ShortAReadMe1 addChild(playShortA1); playShortA1.x = 307; playShortA1.y = 603;}
When I test the movie the following message appears,
"TypeError: Error #1034: Type Coercion failed:cannot convert flash.events::MouseEvent@212a161 to flash.events.TimerEvent," when I click the button ("readtomeShortA1"). Note the instance I am referring to is a button. When the swf is created there are compile errors that appear. The "TypeError....." only happens when I click on the button ("readtomeShortA1").
FYI, there is other code on the page which is below the code in question:
It all works fine. However, I am trying to put in links on the stage outside of SSP (i.e., Home, Gallery, About, etc.) as shown in this example website [URL]. When I do, the stage is truncated and part of SSP is skewed off the page.
How do I make sure that my stage containing text and SSP is captured as the SWF?
I've been adding some components to a Flex 4 app (it was originally Flex 3 but has been ported). Some of these components make the app go blank when it loads. I'm not even able to see the loading progress bar. Just white.
To the root tag causes this. I also was able to make it happen when I tried setting a custom components skin from my style sheet instead of from the skinClass property.
In this game attached I need the old Children (rats) to hurt the character when he walks into them, however only the most recently added Child is active in that way... also the rats seem to appear above the character instead of below, is there any way to resolve these issues??
I have a Sprite called pageContent. Inside pageContent are 12 more Sprites with unique names, a couple of Buttons, and some TextFields. Inside each of the 12 Sprites I have either one or two TextFields and one TextInput. My question is, since they are children inside a child of pageContent, how can I access them? Here is how I am trying to do it:
[Code]...
In my mind, this should totally work. But surprise, surprise, it doesn't. I have debugged it and it works fine for the first two lines, but when it tries to get numChildren of a Child of pageContent (line 3), I get this error: PHP Code: 1119: Access of possibly undefined property numChildren through a reference with static type flash.display:DisplayObject.
I want to have a rollover effect of a movieclip (mo1) inside a movieclip (mo) of another movieclip (popup1).Is it possible to do that? I try calling it using this code in the frame 1 of my flash, am i doing wrongly?
i am slightly confused about the parent and child relationship. lets assume we have several different instances, what would be difference of adding them all as children of the stage and creating a parent-child hierarchy between them(other than the access path).