ActionScript 2.0 :: Adding Properties And Events To MovieClips Inside A Loop Inside A Function
Dec 8, 2009
I have done this same thing in ActionScript 3, but am not familiar with ActionScript 2, which I am forced to use for this project. I am loading products into a SWF via XML and attempting to add a click event to each dynamically-created movieclip. Simply tracing the text from a node in XML will do for now. I'd like to assign a property called "desc" or "description" to each movieclip and have it trace that property's value when clicked. Here is the relevant portion of my code as it stands:
ActionScript Code:
var iXML:XML = new XML();
iXML.ignoreWhite = true;
I am an AS3 code developer but this time I need to deal with a FLA that has an instance on timeline with complex nesting of movieclips and textfields (that are named via the instance field in Flash). The problem is that events (I put in the Documentclass) on nested movieclips inside that timeline placed instance are never dispatched.
example code: // my instance on Stage in all Frames of the timeline public var thewall:MovieClip; // event directly on thewall works
I am an AS3 code developer but this time I need to deal with a FLA that has an instance on timeline with complex nesting of movieclips and textfields (that are named via the instance field in Flash). The problem is that events (I put in the Documentclass) on nested movieclips inside that timeline placed instance are never dispatched. example code:
Code: // my instance on Stage in all Frames of the timeline public var thewall:MovieClip;
I'm currently having trouble on integrating a scrollbar that I downloaded from Warm Forest Flash. I built a XML gallery that is going out of the boundary of height of 466 pixels. The thumbnails that are out of the boundary are still visible. On top of that, I tried to add the scrollbar to the sprites inside and outside the for loop, but sadly it doesn't appear. For the height thing, can I set the size of the ULLoader? Or should I just use a mask or something?
I am trying to create a gallery where each thumb is housed inside of it's own movie clip that will have more data, but it keeps failing because it won't let me refer to the newly created instance of the movie clip. Below is what I am trying to do.
var xml:XML; var xmlReq:URLRequest = new URLRequest("xml.xml"); var xmlLoader:URLLoader = new URLLoader();
I am trying to create a gallery where each thumb is housed inside of it's own movie clip that will have more data, but it keeps failing because it won't let me refer to the newly created instance of the movie clip. Below is what I am trying to do.
var xml:XML; var xmlReq:URLRequest = new URLRequest("xml.xml"); var xmlLoader:URLLoader = new URLLoader();
[Code]....
It dies every time on that last line. How do I refer to that vidThumbn instance so I can add the imageLoader? I don't know what I'm missing. It feels like it should work.
create functions using a loop, like so with just the !HERE! replaced with the method of creating it with the 'i' variable. Both the function name in the event listener and the function's setting need to make use of the i variable
Code: for (var i:int = 0; i <= 5; i++){ this["question"+i].addEventListener(MouseEvent.CLICK, !HERE! );
It's just a simple navigation thing, with a strip of thumbnails that gets moved left and right with arrows that load a larger picture when each thumbnail is clicked. Basically I would like to move the strip of thumbnails across when you click the arrows, and then when you click a thumbnail it loads the full size image above the strip. This is my thought process for each thing that needs to be scripted.
For the arrow function: - The arrow buttons need to tell the movieclip to move to the relevant frame WITHIN the movieclip where I have included the tween to the next set of thumbnails. I tried scripting this on the button itself as well as on the first frame of the actions layer and I couldn't get either to work. - I initially had the buttons within the movieclip because then I could control when there is a left and right button, or just a right button or just a left button (i.e., still more pics to view, you can go back to the previous set of pics or onto the next set of pics, or you've reached the end of the row of thumbnails) but I couldn't get my button to do anything when it was inside the same movieclip as the thumbnail rows. I would prefer to have the buttons work inside the movieclip for the reason described.
For the thumbnail function: - The problem here, I think, is that I have buttons within a movieclip that I am trying to get to load something to the stage. Here, I tried to add the script to the button within the movieclip as well as the first frame of the sctions layer but again that didn't work either. - Another important function is going to be removing whatever is on the stage when you click another thumbnail. I guess each image could just keep loading on top of the previous image but won't that cause a problem with the depth of your layers?
I'm trying to use a loadMovie function inside a loop to load external PNG files when my game is loaded. Unfortunately, I can't get even a single loadMovie to work correctly, much less execute a bunch of them.The code is on the root time line, and is targetting an empty movie clip that is nested inside about 3 levels. There is a button, with a movie clip on it, and the empty clip I'm trying to load into on that.so the full target path is myBox_00.smallBox.myLogo(myBox_00 is the button, smallBox is the movie clip, and myLogo is the empty)[code].I even tried using a JPG image instead of a PNG and still no luck. The best I could do was number 4; and that didn't work, all it did was SOMETHING instead of NOTHING... unfortunately that something was to make the button (myBox_00) disappear entirely T_T.I've never had much luck with loading external images. What am I missing here?
I have done this same thing in ActionScript 3, but am not familiar with ActionScript 2, which I am forced to use for this project. I am loading products into a SWF via XML and attempting to add a click event to each dynamically-created movieclip. Simply tracing the text from a node in XML will do for now. I'd like to assign a property called "desc" or "description" to each movieclip and have it trace that property's value when clicked. Here is the relevant portion of my code as it stands:
What I have done is create a preloader that loads an SWF file. I used the same preloading technique used at this site [url]...
What I want to do is when the browser window resizes I want to change the swf files height and width properties to the size of the window.
Is this possible or should I approach the preloader differently so that my main swf gets loaded by the browser so I can use javascript to change its properties.
I have 2 movieclips. One is a fairy flying up the stage. The other movieclip is a magic dust, which is originally designed to generate magic dust with onMouseMove event, based on the mouse's x & y. I want to change the the magic dust movieclip so it will generate magic dust following the fairy's movement.[code]...
why does a MC inside another MC have different _x and _y values than the main timeline?What I am trying to do right now is animate a MC inside another MC then get the main MC holding everything to move where that new MC ended animating at (it's part of a game I'm making.)
I know it's confusing but Flash shows the cursors current X and Y in the info panel, which is the same as the main timeline. Yet inside the movieclip, an x of 76 and a y of 277 on the timeline is -195 and -30.9 (respectively) inside the MC.How do I fix it so I can get the _x and _y values to match up so I can tell the main MC to reposition itself to the new X and Y (of the inside MC)
I have a movieclip called mapWindow, inside mapWindow are dynamically created movieclips of various sizes. The movieclips inside the mapWindow don't take up the entire space of the mapWindow and thus I use a startDrag on the mapWindow upon detection of a mouse press. The problem is, I don't want the start drag to start if the mouse is detected over any of the child movieclips inside mapWindow.
I have a few ideas of how to proceed, but I'm not sure how to reference all child movieclips of a particular movieclip - or something along those lines.
It would be easy to use the hittest function if I knew how to reference all the movieclips I need to, but alas...
I am curious in what strategies people are using (if they are using) the Key events inside of their classes. I am trying to build up a character class and I wanted to encapsulate the movement inside of the class.
I'm trying to make a matching pairs game. First of all I'm making all the tiles, using a loop inside a loop. How do I get the ID of an item inside that loop? My code looks like follow:
Code: var matches:Array=new Array(1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8); makeTiles(); function makeTiles() {
I have an Item Renderer having HBox. Now I want to add child in that HBox from my application file using addChild method. Any way around for the same. I am not able to access the properties of HBox inside the item renderer.
I'm trying to listen for events sent from my main movie swf from inside a preloader shell swf.Inside Preloader.swf, I load my Main.swf in the traditional way, with a loader object and I listen for progress events on that. These progress events make my preloader bar scaleX increase, like normal. But, I have an XML file and an image that load inside of my Main.swf as soon as it is loaded. I would like for these unloaded bytes to be shown in my Preloader.swf before the Main.swf gets added to the stage.right now, I am sending the totalBytes from the XML file and the image to my Main.swf document class, which, in turn, dispatches a custom "PreloaderEvent" that holds the total number of bytes.
In Preloader.swf, I add an event listener to the loader ( which holds main.swf ), listening for that PreloaderEvent.Can events be heard in this manner and is this the best way to be preloading this type of file ( one where main.swf loads in the first frame, then starts loading of external images after the swf is running ).I'm just not sure how to get all of those extraneous bytes into one location for my preloader to see at the same time.
Would it be possible for me to also dispatch non-custom events (like Event.CHANGE) from inside a class? I already did this with custom events which worked fine, but when I try to dispatch a the Event.CHANGE it will tell me that I am trying to convert a String into an Event (??). What I do is:[code]
I currently have my own class, for arguments sake, lets say it's called User and is for logging into my own system.
I would like to call a function from the user class called, say, login(), which would send the username and password attributes to a service (in my case, PHP), and then get the data back with the response (either successful or unsuccessful).
This would ideally make my code behave like this:
Code: var user1:User = new User("Jim", "password"); var loggedIn:Boolean = user1.login();
[Code]....
I don't know of a way of getting the login function to return a boolean based on the result of the HTTPservice it sends, so does anyone know of a better way of doing this?
I am reading in collection objects from an XML file. Each collection has an img field that stores a URL to the collection image. So I am trying to load the images of each collection, storing each image in a MovieClip, and add these MovieClips to the stage. However, my problem is that after adding a MovieClip (with the collection image) to the stage, when a new MovieClip is created in my 'for each' loop it overrites the previous MovieClip. So the images I am adding to the stage are being replaced by the following collection's image on each loop iteration. What can I do to avoid this?
Basically I have 5 movieclips I want positioned around the stage. So I figure the best way to this is with a for loop. However the way I've coded it doesn't appear to add new movieclips and seems to just move the first movieclip 5 times and it always ends up with an x of 169. Here's my code:
Code: for (i=0; i<5; i++){ var barName:MovieClip = _root.game.attachMovie("butSquare","r1wBar"+i,_root.getNextHighestDepth());
I have made a class that Pops-up a window that contains a panel with a textbox and two buttons, one for accepting, other for cancelling. It should work as a prompt in which you enter some text, and then if you like the changes, you accept, else, you cancel and the text you entered is discarded.
The thing I'm not sure how to handle is how to receive the text, once the user presses 'Accept', from the class I want to receive it from.
So, the approach I took is a bit cumbersome: firstly, when launching the popup, I associate with it a function (called onResult() in the code) from the 'class that launches', which will be called after the user presses the 'Accept' or 'Cancel' buttons; secondly, to get the text that the user inserted in the box, I keep a reference to it public from my class.
have a look at the code here: [URL]
I've also programmed in Android before, and the approach there would be much cleanier, just putting the text result from the popup inside a bundle inside an intent, and receiving it from the launched class. Here, I have to pass functions and such, which I don't like at all (although it works!).
I have a Card class. From this class, I have three possible children: Photo, Video and Info. In my main class, I want to create a few instances of these different classes without knowing what kind it is. But, no matter that, I want them all to listen to the mouse, so I may have something like this:
ActionScript Code: var item:Card = new Photo(); item.addEventListener(MouseEvent.CLICK, mouseHandler);
The thing is: the Card class is kinda like a canvas... it has certain properties common to every type of item, but there's a space where it leaves it as a canvas... a Photo instance will load a photo there, a Video instance will load a video and a Info instance will load text to a TextField. The problem is that the event listener doesn't work the way I want it to... on an Info instance, the target of the click is the TextField; on a Photo instance is the picture... I want them all to be the class itself... in other words, I want to be able to parse the target as a child of the Card class. My code for the mouseHandler method is
ActionScript Code: private function mouseHandler(e:MouseEvent):void { if(e.target is Photo)
[Code].....
That's the main idea... to be able to know what kind of object I'm clicking and access its properties... but on an Info instance, e.target is of type TextField... to be able to access the Info object, I have to do e.target.parent, and that is NOT the idea.
I have function on my main timeline, triggered by a tween event. I need to call this function WITH the triggering tween event from inside a movieclip. Is this possible and if yes, how do I do this?
Is my code on the main timeline. TriggerTween is a simple Y-tween that triggers an alpha tween inside my target movieclip. I need to have the option to trigger the alpha tween with the Y tween from inside my target movieclip.