ActionScript 2.0 :: Dynamically Created Mc + Addressing / Event
Oct 8, 2004does anyone have a tip on how to "bind" events to dynamically created movieclips ?
[Code]...
does anyone have a tip on how to "bind" events to dynamically created movieclips ?
[Code]...
trying to create a menu dynamically from an array. I know there is a way to circumnavigate the issues i am having by making another array with linkNames in it (i think), but im trying to understand why this isnt working. Check this out.
Code:
var playerArray:Array = ["THIERY","FIGO", "RONALDINO", "WAYNE"];
var contents:MovieClip = this.createEmptyMovieClip("contents", this.getNextHighestDepth());[code]....
'currItem.currVar', in my eyes, should be assigned the value of 'i' at that time in the loop, then move on to the next currItem right? Tracing 'currItem' traces 'menuItem. menuItem'+i to the output window fine, so im assuming that currItem is indeed a reference to a unique clip to which assign an action. The catch is, its not assigning the action I want, its assigning the value of 'i' at the end of the loop to all currVar's.I recently read a post explaining this conumdrum, stating that "variables are not "burnt" into functions when they are placed there. They will reflect the variable, where ever it may exist at the time it was requested, not at the time the function using that variable was defined," but in this case,since I am assigning the value of 'i' to anothing variable inside my dynamic movieClip.
I have this code inside a for loop which is inside a function:
Code:
_root["track" + i] = new Sound();
_root["track" + i].loadSound(extTracks.data.tracks[i], false);
createOnLoad("track" + i);
[Code]....
When i test the movie in flash itself everything works fine, but when i open the movie in IE or the stand alone flash player, details_txt and length_txt are both empty.
i have a movieclip named "mc" and i want to load many images in it and add on press event to those images.
For that, i have a button which is when click adds images to movieclip "mc".
I created empty movie clip in "mc" and loaded that empty movie clip with images. But i m not able to attach on press event to that empty movie clip.
Here is my code:-
In button :-
on(press)
{
_root.fun();
[Code]....
I even tried to add listener to movie clip (commented portion in above code) but that also didnt work.
here's my code
createEmptyMovieClip("myMC",0);
// load a jpg
myMC.loadMovie("myImg.jpg")
[code].....
So I have an object, generated on each click of the mouse. It's set up as a series of points with properties, with values for position randomly calculated, and set around where the user clicks the mouse. Lines are drawn from where the mouse is clicked out to each of these points, so it kind of looks like a star, but only lines, rather than a solid shape (like those old 50's atom clocks?). So once clicked there's an enter frame event listener on the object so that each of the points 'wobble' (using a randomly generated number) up and down around the original point.
For some reason, I can either set it so that on each new click of the mouse and newly generated object, the last one stops "wobbling" and only the new one does, or each new object moves to where the new object is, and maybe is still wobbling(?), but is underneath the new object. This way has the event.target as a new object in the wobble function, so I think it may be just a case of where the centre point is - i.e. saving the mouse x and y for each object individually, or perhaps I have too much of the setup function code repeated in my "wobble"function?
[Code]...
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.
I'm using Flash Remoting to grab a result set from a SQL Server database. Then, using the total records in the result set, I'm creating the respective number of movie clips on the stage. Each of these movie clips is an instance of the "button_mc" movie clip I have in the library, named "button_0", "button_1", ..."button_n". The library movie clip that I'm using to create the instances contains a standard Flash button.
Anyway, that part is working fine. What I want to do is dynamically generate the onRelease event handler for each of these unique buttons. When I try to do this within the for loop, it sets all the event handlers to the last item in the list. What I want to do with the event handler is change the text of a dynamic text field based on the button name.
e.g. buttonName.onRelease = function() {
myDynamicTextField.text = "button_"+i;
}
In some ways it makes sense that the event handler is always going to be the last available in the loop, as the handler is called after the loop is completed. However, I'm hoping there's a way to make the handler "stick" after the loop is completed.
I am trying to use the ENTER_FRAME event with a number of dynamically created movieclips and it is not working.The swf features a series of five clock faces that the user will select by hitting the appropriate button. Each clock has five unique movieclips to that season including a second hand, a minute hand, a main character, a seasonal clock face and a back ground, again, each of these MovieClips are different on each of the five clocks. So I have a series of five listeners for each of the buttons:
spring_btn.addEventListener(MouseEvent.CLICK, startSpring, false, 0, true);
winter_btn.addEventListener(MouseEvent.CLICK, startWinter, false, 0, true);
...
then the associated functions to the mouse event looks like this.
function startSpring(){
var mBack:springback = new springback();
var mFace:springface = new springface();
var mChar:springchar = new springchar();
[code]....
I have a Tree, which has an itemRenderer. On the itemRenderer, driven by the XML conditions, objects are created dynamically and added as a children to nodes. These new objects shall trigger an event handler ( some click events mostly ). How do I pass the event handler to the tree and later to the dynamically created new objects inside itemRendere?
Something like:
<mx:Tree x="534" y="49" newObjectsOnClick="newObjectsOnClickHandler">
i have this on my buttons (movieclips):
on (rollOver) {
name=this._name;
path=this._target;
_root.push (name, path);
}
on the timeline i have the function:
_root.push = function (name, path){
trace(name);
name.gotoAndPlay("over");
}
on rollOver i want to dynamically pass a movieclips name to a function which controls that the movieclip should goto its frame named "over", but i cant get the adressing to work.if i trace the variable "name" in the example it gives me the moviename correctly. so i guess my syntax is wrong.the function doesnt work with the path variable either.
what I'm trying to do is access the data of several movies clips, that are inside of several other movie clips:
MC1.insideMC1._visible=false (which works, but isn't dynamic)
but dynamically with a FOR loop. I've tried:
For(bullet=1; bullet<5; bullet++){
"MC"+bullet.insideMC1._visible=false (this does not work)
}
i have this on my buttons (movieclips):
[Code]...
on rollOver i want to dynamically pass a movieclips name to a function which controls that the movieclip should goto its frame named "over", but i cant get the adressing to work. if i trace the variable "name" in the example it gives me the moviename correctly. so i guess my syntax is wrong. the function doesnt work with the path variable either. i know this might be a stupid question. dont mind me, i'm a noob.
I am loading an external XML file. According to the information loaded from the file I would like to highlight a symbol (MovieClip) when I press a corresponding button. The Button and the MovieClip change every time I load a new XML, so it has to be dynamic.I tried the following, but that doesn't work, does anyone know why?I have an Array defined (a_HighlightArray) that I fill within a loop to hold the object (as a string! ) that is supposed to be highlighted when I press the corresponding button:
a_HighlightArray[i] = "o_Map.o_Privatwelt.o_Layer4";
Later, when I want to address the Symbol I am using the following (where Quest corresponds to the No of the button I pressed):
[a_HighlightArray[Quest]]gotoAndStop(2);
There is no error that comes up but it just doesn't do what expected. Strangely enough, if I address the Symbol directly it works perfectly fine:
o_Map.o_Privatwelt.o_Layer4.gotoAndStop(2);
I'm dynamically creating movieclips with dynamically created movieclips inside them and am having trouble with targeting them.Below is a simplified example of what I'm trying to achieve, in the real file there are a lot more movieclips and I'm creating and naming them with a for loop.
This one is just one Sprite created inside another sprite. I can target the top level sprite named "testname". However when i try target the nested MC it throws an error.The bottom couple of traces are just test MCs I've made to make sure i got the syntax right, on targeting nested movieclips.
PHP Code:
var holder:Sprite = new test1();holder.name = "testname";this.addChild(holder);var holder2:Sprite = new test2();holder2.name = "testname2";holder.addChild(holder2);trace(getChildByName("testname").x); //this one traces finetrace(getChildByName("testname").getChildByName("testname2").x);//this throws up an errortrace(testclip1.x);trace(testclip1.testclip2.x);
Essentially, I've got a MC container that's created dynamically based off an XML file (basically for every <title></title> I've got, it makes a new "card"). Now within the context of each <title></title> grouping I've got <imgs></imgs> in which I specify the path to images that are related.All of that works perfectly, save for the external jpg files actually appearing on the stage. The MC I add them to does, but the external image doesn't.My problem is- I can't add the external images until they're completely loaded (or so it appears). The thumbnail BG I use is blank. So I know for a fact that the thumbnail BG isn't occluding the loaded thumbnails.
View 2 RepliesThe following creates movieclips from XML. Everything worksgreat.One problem however. I need each MC to have it's own mouse event listener anddon't know how to achieve this because I don't have specificinstance names to refer with. I want to update textfields etc, with specific data when a
View 3 RepliesI have a function that appends 7 movieclips to the timeline in a loop. The name of the clips is generated automatically:
[Code]...
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.
View 4 Repliesnow a customer wants me to make a Flash intro in her (ASP MVC) site. The scenario is this: images are stored in the dbms. Every image belongs to a category. Depending on what category is selected, the corresponding images should be fetched and played in a flash player with "transition" effects (hope i used the correct words).How can a slideshow (swf) be created dynamically?
View 1 Replieshow should the path to the MC look like in case when his "parent" is dynamically created? i want to target my_FLVPlybk, which can be found in every duplicated "movie".
ActionScript Code:
for (i=2;i<21;i++) {
duplicateMovieClip ("movie1", "movie"+i, i);
newclip = _root.container.multimovie["movie"+i];
[code]....
If I create a mc within a "xml function" like this:
[code]...
Is it possible to have dynamically created variablenames in AS?What I was thinking was something like this:
for (i = 0; i < 5; i++) {
"myVariable_" + i = "Whatever";
}
[code]......
I am guessing the onLoad event handler doesn't work for dynamically created movie clips (with attachMovie) because it never gets loaded.. Is there any other way i can do something when it first gets created?
View 6 RepliesI've made xml gallery which has simple slideshow in starting and after clicking on that its takes to the xml loaded scrolling mc which is not scrolling properly like the tuts here in Kirupa. I've following code for that
function ScrollingCollectionTimeLine(target:MovieClip, speed:Number, dir:Number) {
var mousePercent:Number = page_collections._xmouse/725;
//trace(mousePercent);
[code].....
So I have this code to create and load an external swf. I am trying to write a simple function to target the mc within the loaded swf. Once clicked I want it to load a new swf inside the same mc (container_mc). I'm having trouble even targeting that button though. Any thoughts?
[Code]...
I used a loop to create a series of instances of a class called "Ball": ball_0, ball_1, ball_2, etc.But then somewhere else I need to add them on the stage. When Iusestage.addChild(Ball("ball_"+ballNum)) it gives me this error:TypeError: Error #1034: Type Coercion failed: cannot convert "ball_3" to Ball.(ballNum was set to 3 at that time)it seems there's a new syntax (or something) that I don't get. I get the same type of errors when using other functions such as stage.contains()
View 9 Replieshere is a snippet of code in first frame of the movie I have trouble with:
----------------
for (var i = 0; i < 5; i++) {
var container:MovieClip = new MovieClip();
this.addChild(container);
[Code]....
I am getting an error message: A term is undefined and has no properties. I checked list of objects and container0.one and it's there but I can not get to container0.one.usecase
If I create a mc within a "xml function" like this:
[AS]
item_mc = _root.container_mc.attachMovie("content_mc", "content_mc", 0);
[/AS]
How can I then delete it? this doesn't work
[AS]
delete _root.container_mc.content_mc;
// or
delete _root.container_mc._level0.content_mc;
Movieclips created on the stage and instanced behave differently from dynamic movieclips in that they are destroyed when you go to the next frame (I have a stop on every frame). If I create that same movieclip dynamically then it will stay on the stage forever regardless if I go to the next frame or not. I understand that it needs to be removed from the display list but I can't find any event that is fired on a next frame basis. I could use onEnterFrame but at 30 fps, that's alot of overhead. The idea is to have all the code contained in my .as file.
View 6 Replies