ActionScript 3.0 :: Dynamically Adding Random MC's In An Array And Removing Them Dynamically Again
Oct 27, 2011
I have a game where i add some cartoonish ants, that when they are clicked, they need to be removed from stage. There are 4 differend kinds of ants, so im doing a Math.random for picking which one to add. (ant 1+2+3 have 50% chance to spawn and 4th 50%)
Code:
rnd_nbr = (Math.random() * 5)+1;
I have a timer doing 10 tick, and i reset the timer to make neverending. Then i have a math random and if sentences adding mc' to the stage with movement from Tweener, and event listeners for clicks. But i cant figure out how to remove them when clicked. I have done alot of failed tries right inside the click_candy_anty function. I've left them commented out.
Code:
import caurina.transitions.Tweener;
var ant_index:Array = new Array(10);//index for ants
var ant_number:int;
I have been looking for a way to swap a movie clips when the user clicks on them.I could not find a function for swapping them, so I dynamically generate the first one, when the user clicks on it, I remove it and add another clip (hoping to repeat the same process), however, when the second one appears it not allow me to click on it - so that I can do the same again.The code is below, and I have attached the flash file for you to take a look at - I am currently working in Flash 8.
After a little break in AS3 I'm back... and facing a problem. For a school project I'm trying to make a side scroller game in which the player automatically moves right and has to avoid branches.Basically, depending on how well you do your speed (var) gets updated. After certain 'distance' (fake of course, as the player stays centered) I would like a n instance of Branch_MC to appear. Also, when that instance's x property reaches -20 I would like it removed.I'd need approximately 135 branches so creating variables isn't really an option.
OK so I am dynamically adding and removing movie clips to the stage.[code]I want to be able to add that same MC from the library again later with a button press but when I try to use the same code to add the same MC (this.attachMovie("controll_pannel","controll_panne lMC",10);[code]
I've created a drop down list and populated it with dynamic buttons. (I made a DropDown_btn class with a dynamic text field in it and then filled the button text from an xml file). On rollover I tint the button blue and then set the tint back to black on rollout. When you click on the button I'd like it to stay blue until a different button is clicked.
...and then I need to addEventListeners back to any button that doesn't have them and set that button back to black. I could do this by looping through an array of the buttons but I can't figure out how to access them as objects.
I also gave them each a property of "buttonValue" when I loaded them so I can access event.currentTarget.buttonValue (which in this case is a number from 1-5) but once again I can't figure out how I might leverage this information.
How to add random movie clip to stage from many different movie clips in library? If I wanted to add one movie clip to stage I would do liko so:
Code: stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove); function onMove(e:MouseEvent):void { var mc:MovieClip = new Ball(); mc.x = mouseX; mc.y = mouseY; addChild(mc); }
Code above works perfect but I tried following but with no success, no errors, but nothing happens - no mc's are added to stage. I have 6 movie clips in library and they all are linked, exported for actionscript. On MouseOver I want to add random movie clip from those six movie clips to the stage.
Code: var myArray:Array = [mc1, mc2, mc3, mc4, mc5, mc6]; stage.addEventListener(MouseEvent.MOUSE_OVER, onLoop); function onLoop(e:MouseEvent):void { for (var i:int = 0; i< myArray.length; i++) { var randomMc:Number = Math.floor(Math.random()*i); var mc:MovieClip = new myArray[randomMc]; addChild(mc); mc.x = mouseX; mc.y = mouseY; }}
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());
0: Its not rocket science, but my surname aint Oppenheimer either so... read on if ou dare.
1: this is my third attempt at mastering OO and flash CS5 so, i hope we can all have a laugh after.
2: In short.. I added a 64x64 tiled movie in flash. Read it out in an array, in a.. well original way(just to see if i could get it to work so stop lauging already), and tried to recreate them using a flash class.
2a: The recreate class works but shows the Tiles in a random order, every time a new one?! this is what happens..
Basically, the effect I'm going for is, you click on a button that calls an mc to the stage and blurs everything below it. When you click another button (that was also called), that mc (and button) is removed, as well as the blur filter.This is the code I have. (Also, just ignore my stupid function names. I pretty much just name them after the next word I hear in the song I'm listening to :)
Code: hint.addEventListener(MouseEvent.CLICK,manipulation); function manipulation(event:MouseEvent){ this.addChild(newHint);[code].........
and I don't have any compiler errors, the stuff just simply won't unblur.
I have a game where i add some cartoonish ants, that when they are clicked, they need to be removed from stage. There are 4 differend kinds of ants, so im doing a Math.random for picking which one to add. (ant 1+2+3 have 50% chance to spawn and 4th 50%) rnd_nbr = (Math.random() * 5)+1;
I have a timer doing 10 tick, and i reset the timer to make neverending. Then i have a math random and if sentences adding mc' to the stage with movement from Tweener, and event listeners for clicks. But i cant figure out how to remove them when clicked. I have done alot of failed tries right inside the click_candy_anty function. I've left them commented out.
Alright, So i have a function which generates alot of the same MovieClip on the stage, however i need to be able to both Hitcheck this MovieClips and Remove them in other functions, so somehow ( what i have attempted here and isn't quite working yet :confused: ) is putting each MovieClip in an array slot, so if you needed to remove them it would be as simple as a For Loop to run through the Array. Also, when i hittest them, optimally since they are all in an array, i could just reference them via MovieClip.Hittest (movieClipArray[i]) i being the instance to remove.
Background for the project, adding and removing colored MovieClips Which are all systematically distributed on the stage. When the player Pushes the # Keys color it would run the construct function creating the MovieClips on screen. After that if the player hit the same color key again, before generating a new layout it will remove the previous first.
Also a key is to be able to hittest the colors against other MovieClips on stage so it needs to be linkable. Right now im attempting that by containing all my generated colors in
ActionScript Code: "ColorContainer"
Currently my color Remove Function has Children Being removing which aren't referenced to the Array, i realize this... But want to get the generation of the Array down before i start cutting away at it.
Here is the code i have so far: For some reason i keep getting:
ActionScript Code: TypeError: Error #1007: Instantiation attempted on a non-constructor. at ColorantConfusion_Current_fla::MainTimeline/frame1()
I've tried adding 5 comboboxes with createClassObject and attachmovie, and that works fine but when i do a destoryClassObject or RemoveMovieClip on 1 of the comboxes, the Main Label in all the other comboboxes go blank?
Basically, the effect I'm going for is, you click on a button that calls an mc to the stage and blurs everything below it. Within that mc is a button that when clicked, should remove both the mc and the blur filter.This is the code I have. (Also, just ignore my stupid function names. I pretty much just name them after the next word I hear in the song I'm listening to :)Main Timeline:
Code: hint.addEventListener(MouseEvent.CLICK,manipulation); function manipulation(event:MouseEvent){
I have a MC called Enemy. It contains a monster that pops out at a random time (a timer with animation inside the MC). It stays on the stage for a few seconds and then hides again. If it hides, I want it to be removed and another enemy be added instead. All the monsters are instances of Enemy MC that are inside enemies[] array.[code]
I have 36 images in a movie clip. Inside of that movie clip there are 36 other movie clips containing one separate image. I have figured out how to click on them and add it to the stage. But I can figure out how to get them to remove when another image is clicked. (ex. I click on image 1 it will appear on stage but when I click image 2 it show image 2 on top of image 1.) the thing is I don't want to have to click on the images in order. If any image is clicked the one showing on stage will automatically disappear.
I am having trouble clearing out a shell movie clip that has other mcs dynamically placed inside it. Something like this;
var myShell:shell_mc = new shell_mc;addChild(myShell);// //---obviously these buttons are on stage already---buildBtn_mc.addEventListener(MouseEvent.CLICK, buildFunction);clearBtn_mc.addEventListener(MouseEvent.CLICK,
I have problem with casting custom event currentTarget to component. When I'm trying to removeElement from its parent container i get error. What's the deal?
TypeError: Error #1034: Type Coercion failed: cannot convert mx.events::FlexEvent@8811c41 to com.modultek.pis.itemmachine.search.events.SortEvent. private function sortSelection_removeHandler(event:SortEvent):void { var sortSelection:SortSelection = event.currentTarget as SortSelection; this.removeElement(sortSelection); }
I am dynamically loading and removing movieclips from the stage.I am using this to remove them
ActionScript Code: var n:int = rootElement.numChildren; while (n--){ delete(rootElement.removeChildAt(n)); }
The movieclip does remove itself from the stage, yet I can still hear the audio continuing to be played by that movieclip. The audio in the movieclip was not being removed while playing. It is audio that is initiated later in the movieclip. I'm not sure if the delete is overkill, or not.
I have problem with removing dynamicly generated MovieClip in external class. How can I remove it? I'm getting this error:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.at flash.display::DisplayObjectContainer/removeChild() at SomeEffect/updateMc()
I am new to ActionScript 3. I found the code to create a setof radio buttons - the problem is that each time I call asubroutine, it seems to create a new set on top of them (hence theyget darker each time someone clicks them. I need to be able toclear them from the stage and start over - basically the codecreates a set of radio buttons, and then a set of radio buttons foreach of the main buttons created. I've tried destroy object -generates compiler errors.
if you view my project you will see that it is a drag and drop application. You will also see two buttons at the bottom (I plan on adding more), when you click on a box it will add more objects to the menu. Heres where my question comes in, the box then says remove on it, I want the items that were added by clicking on the box to be removed as well as items added to the stage when you click on that same box again, how do I do this?
every so often a movieclip is dynamically created using actionscript from the main timeline. It has the instance name of
Code: ["spark" + i]
each time one is created "i" goes up 1. so I end up with spark1, spark2, spark3, spark4 etc. etc.What they need to do is play through an animation (about 4 frames) and then destroy themselves.
I've dynamically created event listeners in the usual sort of way:
Code: myText.addEventListener(MouseEvent.MOUSE_OVER, hover(nameLabel)); function hover(nameLabel):Function {
[Code].....
The problem is how to remove the event listener later in the program as the usual code isn't working. I'm guessing I should have done this in a class but I'd like to understand this problem better.
So a small example of my situation...On my stage I have 5 items labeled item1_mc, item2_mc, item3_mc and so forth...they all have two keyframes on their respective timelines, one labeled "active" and the other "inactive". My code contains 2 arrays, inactiveArray and activeArray and a variable known as energy that regularly goes to and from 0 - 100.
What I am looking to achieve is basically the function of...
if energy >= "insert given items 'active threshold' 20, 40, 60, etc..." then add it to the activeArray, if it is not, remove it and add it to the inactive array.
all objects in activeArray gotoAndStop("active");
all objects in inactiveArray gotoAndStop("inactive");
I have tried many different ways of achieving this effect but I always end up with duplicates and extras or something doesn't move when it's supposed to, where it's supposed to, it just ends up into a giant cluttered mess and I start from scratch.
I'm creating receives xml from the asp server its on.Because of this, there isn't an xml file that I can open and add to in the places I need carriage returns.To compensate for this, I've been using the split and join method.[code]Essentially I'm looking for certain nodes in the xml and adding a carriage return to the beginning of it.I had to add the extra quotes around the otherwise it doesn't work.The problem with this is, the carriage return works but it leaves the single quotes in the text.I tried adding another split join method that looks for the single quotes left and replaces them with nothing.The problem with this is, it deletes all the single quotes from the contractions.
I am loading Images from xml , images are adding to xml dynamically in PHP.if flash is unable to load one image it stops all the Images from showing what should I do , if one image got stuck , the Flash keep showing other images and BYPASS that element of Xml everytime ?
I'm querying the Rotten Tomatoes API for Upcoming Movies. For each movie returned, I'm creating an instance of MovieIcon (MC). I'm then adding this MC as a child of a Container MovieClip that's already on the scene. Each time, I'm incrementing the xPosition of each MovieIcon MC such that, they're positioned next to each other.My container MC has a mask applied to it, therefore any child objects that are positioned beyond the size of the mask, they're are hidden from view. How can I dynamically add a tween/easing animation between all these MovieIcon MC's so that when I hover over the Container MC, it 'scrolls' left or right, depending on the mouse motion?
Here's what I want to accomplish, I'm doing a listing of all the shows done by my band, I've written all the info into a XML file ( date, location, venue, info and a URL to get to the gig ) and I made a MovieClip with 4 field text to display the information.
So far I can read the XML file, I can addChild my MovieClip they stack neatly in a column to the stage...my problem is, after that, I don't know how to refer to them on the stage to get the url link that I've written in my XML file....here is my AS.
Pascal //--- load the gig info --- var xmlgig:XML; var showlist:XMLList;