ActionScript 3.0 :: How To Reference A Dynamic Movieclip
Sep 3, 2009
I have a number of identical movie clips that are generated in responce to an XML file. I'm trying to reference a specific one of these movieclips after a sound file stops playing How do I call up that specific movieclip? How can dynamically created objects be referenced through the actionscript?
PHP Code:
for(var i = 0; i < 3; i++){varnew test() addChild(a); 150);
I have built a movieclip (parentMC) that houses two movieclips within it (mcA, mcB).
in mcA, i'm dynamically attaching movieclips from the library through a loop.
in mcB i'm trying to reference a particular movieclip from mcA via "_parent.mcA". Doesn't seem to be working. However, when i reference said movieclips from the loop within mcA - or even parentMC, it works fine.
i have created a movieclip (parentMC) that houses two movieclips within it (childA and childB)
in childA, i am dynamically creating movieclips via a loop:
Code: var newX = 0; var pagTotal = 8; for(i=1; i<pagTotal+1; i++){
[Code].....
...and in childB i'm trying to reference one of these created movieclips via "_parent.childA.pagClip01" so on and so forth.
but they dont seem to be working. when i trace the dynamic clip from within childB i keep getting "undefined" in the output. however, I can reference the movieclip from within childA, and even from parentMC no problem.
i've used _root and _level0 absolute paths and still the same failed result.
how does one reference a MovieClip instance dynamically in AS 3.0? Example, I create a new instance of a "marker" MovieClip class that inherently has within it a series of embedded MovieClips labeled: "m1", "m2", "m3" etc ... and I want to be able to dynamically reference those embedded MCs.I used to do this all the time in AS 2.0, and can't recall how to do it in AS 3.0.I know it is something like this:
number = 1; marker = new StaticMarker(); var thisMarker = this.marker.m[number];[code].........
I have 9 MovieClips on stage (p1, p2, p3...), different colors and sizes. I have one AS3 class "Snake" that as an instance is supposed to duplicate one of these MC's as a Shape. The reference to the specific MC is supposed to be on the constructor method. These instances are supposed to be triggered from one global Enter.FRAME event. How can I refer a distinct MC from within a class? I ask this because this MC will be dynamic and its properties ever-changing (position and color). I know this can be solved by adding distinct Enter.FRAME listeners per instance, but I'd rather avoid bad practices.
ActionScript Code: public function Snake(id:MovieClip) { body = new Array(); head=new Point(id.x, id.y); size = id.width; color = getColor(); // need to have a class variable that refers to the index [Code] .....
I have a dynamic group of movieclips... these fade in/out on rollOver/rollOut. During the rollOver they reference an index in the legendArray. In the legendArray each index has 5 digits (0 = off, 1=on). Over each "bg" mc are a series of 5 dynamics mc's ("dt" mc (see eg.jpg)), which are to change tint via tween, depending on the legendArray index. I have been able to associate the btn("bg" mc) with the proper legendArray index, but for some reason I'm having difficulty associating the legendArray index to the "dt" mc. As it stands, I keep getting error 1069.
I am trying to make a reference to a movieclip instance that is in another movieclip.
Here's the deal: I have a main timeline for different pages of a website...then within that I make all of the art on each page into a movieclip so I can do animations every time that main timeline frame is called to, yet still keep my main timeline clean.
Within one page's movieclip I have a few buttons that I want to use to go to other pages by referencing them on the main timeline.I have been using this: (home_about is the about us button on my home page, and frame 31 is on the main timeline).
home_about.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame_6); function fl_ClickToGoToAndPlayFromFrame_6(event:MouseEvent) :void {[code].............
Since this home_about is within another movieclip,I get the access of undefined property error. Do I need to change the code I've pasted above or add in variable definitions to fix this?
I am trying to create an interactive graphic. Basically, it's three squares layered on top of each other, with a large square in back, a medium square centered in the middle of the large square, and a small square in front centered in the middle of the medium square.
When you roll over the medium square, say, it expands to almost the size of the large square and some text fades in, and the small square on top of it fades away. When you roll off of the medium square, it goes back to it's smaller size, and the small square fades back in.
Currently, I have the actionscript in the movieclip to make the medium square get larger and smaller (and the text fade in), but I need to somehow reference the instance of the small square movieclip to hide it when I roll over the medium movieclip.
My actionscript for the medium square activity, currently:
Been trying to make the transition from AS 2 to 3 but not without it's speed bumps. My first major hurdle has been trying to dynamically reference a class by only knowing it's name. I came across the code of import flash.utils.getDefinitionByName; but that's not working for some reason. It keeps giving me the error:
Quote:
ReferenceError: Error #1065: Variable characterType5 is not defined.
My code in getting this is:
PHP Code:
import flash.utils.getDefinitionByName; var className:String = "characterType" + 5; var tempClass:Class = getDefinitionByName(className) as Class; var char = new tempClass();
I have 9 MovieClips on stage (p1, p2, p3...), different colors and sizes. I have one AS3 class -Snake- that as an instance is supposed to duplicate one of these MC's as a Shape. The reference to the specific MC is supposed to be on the constructor method. These instances are supposed to be triggered from one global Enter.FRAME event.
My question: How can I refer a distinct MC from within a class? I ask this because this MC will be dynamic and its properties ever-changing (position and color). I know this can be solved by adding distinct Enter.FRAME listeners per instance, but I'd rather avoid bad practices.
I am having trouble dynamically changing the reference to root in my movies. Here's what I'm trying to do: I have a main movie(_level0.mainMovie) that I am loading external .swfs into. However, I want to be able to test the child movie clips without having to load them into the mainMovie(for testing purposes). In such a case, the child clip would be at _level0 or _root. I would like to add some code to the child clips to test whether they are the _level0 clip, if not, then I want to change their reference to _root. Here's what I've come up with, which doesn't seem to work:
ActionScript Code: function testLevel(){ //This code goes into each child clip to see if it has been loaded into another clip
I'm having some problems on how to reference dynamically placed buttons. I am building a shopping cart and for every item in the cart a movieclip is duplicated and next to this movieclip I duplicate a few buttons (to delete and add an item)This is the code:
Code: var id=0; //this value normally comes from the database var amount = 10;//this value normally comes from the database
getChildByName("name") works great if my object has been added to the stage or some MC. But what can I do if I have an object created dynamically that I want to reference later in the code but haven't added to the stage? Here's an example:
for (var a = 0; a < 10; a++) { var testObject = addChild(new BlankMC()); testObject.name = "myTest_" + a; }
[Code]....
This returns my BlankMC instance, but ONLY because it was added to the stage. If I don't use "addChild", then I get "null" because my instance is not a child of the stage (or anything else as far as I know). Is getChildByName the ONLY function for referencing a dynamic element?
I hope the title makes sense otherwise:Is it possible to have SOUND or @JOKES to be variable?As in replace it with a String for example and have it filled in via code.champSoundJokeBtns = mySoundsXML.SOUND.@JOKES;
I have a script on frame 1 that onRelease of button should tell dynamic MovieClip instances which have been added by attachMovie on frame 2 and 3 to go to a particular frame , here's the code:Frame 1:numdests is set to 2pagesAmount is set to 4
btn_submit.onPress = function(){ for (var i = 0; i<numdests; i++){ for (d = 1; d < pagesAmount + 1; d++){
I have a script on frame 1 that onRelease of button should tell dynamic MovieClip instances which have been added by attachMovie on frame 2 and 3 to go to a particular frame , here's the code:
Frame 1: numdests is set to 2 pagesAmount is set to 4
[Code].....
Currently the movies that are added using AttachMovie don't move when button on frame 1 is pressed.
I've got a couple of columns of buttons loaded with attachMovie and looping through an xml array with a for loop, so they're named, for example, "thisBtn"+i+"_mc". But I don't seem to be able to reference them in the script with either a written-out name like thisBtn0_mc, or with "thisBtn"+i+"_mc".
How exactly do you reference each individual button?
I'm not even sure if the title reflects what I want to do. Here's backstory. I have a movieclip with 5 'holder' movieclips in them. They are my containers for dynamically added movieclips. The parent containers has an instance name of pyramid, the holder instance names are labeled after the 6 food groups, i.e., 'grainholder', 'fruitholder', 'vegetableholder', etc etc...The holders are within the pyramid container, instance names as above, and the pyramid container is added to the display list. I have a addFoodToPyramid() function which adds 'foodMC' mc's to their respective holders. So an [object Apple] will be dynamically added by way of pyramid.fruitholder.addChild(Apple). The function also adds a listener. Heres the call and the function:The call (I will use grains as example) is this:
addFoodToPyramid(grainArray, grainHolder, grainCounter); And the function is: function addFoodToPyramid(thisArray:Array, thisHolder:MovieClip, thisCounter:Number):void
I am starting simply (or so I thought) by pulling an object from my library (libraryButton) with a unique identifier btn[i] and placing a dynamic text field within it. thus;
var numberOfButtons:Number = 5; var btn:Array = new Array(); for(var i = 0; i < numberOfButtons; i++) {
[Code]....
would work, and Im simply trying to target a child item within btn[i]
I'd like to invoke a function inside a mc from it's parent, but I want to have the reference to the clip be dynamic. When I path the mc directly and invoke the function it works, how would I make that same reference work dynamically.
Here's a sample of what I'm trying to do:
Code: var myArr:Array = new Array(); myArr[0] = "galleryContainer_mc.eventGallery1_mc.imgContainer_mc"; trace(myArr[0]);
If I have movieclip named box01_mc inside movieclip btn01_mc and I wanted to change box01_mc's alpha to 0 on the rollover of btn01_mc how would I write this? I tried writing the following code on btn01_mc but it didn't work[code]...
I have a bunch of objects that each contain a color swatch movie clip. The color swatch contains a bunch of frames, each a different colored rectangle.The objects that contain the swatch clips also have a mask layer that defines what portion of the color swatch is revealed.
When I have one frame in that mask, everything works correctly. I can change the swatches with no problem.However, I need to create different frame for the mask. Once I create a second frame with a different mask, I get a Null Object Reference and everything breaks.
I tried creating shape tweens between the frames, making each mask into its own movie clip, and putting each new mask on a different layer - but none of that works.
I have a movie clip I am adding to the stage via addChild() within this movieclips timeline I am trying to reference functions and variables on the main timeline.[code]...
The scene is a number of movie clips, all already added to the stage (i.e. not dynamically) and when one is clicked, I need to call a property of that clip. [code]...
I have a movieclip (childMc) that is the child of another movieclip (parentMc) on the stage.My code creates a reference (refMc) to the child movieclip on the stage, and then deletes the previous parent movieclip (parentMc) through a call to function deleteChild. The problem is that the delete is deleting the reference also. How do I break the reference so that the reference (refMc) is kept on the stage? Here is my code:
Stage Code: var refMc:MovieClip; var parentMc:MovieClip=this.addChild(new parentSymbol()); // parentSymbol has childMc
I realize this is very basic but i need a quick way of referencing all my objects in an array,I have a series of movieclips with instance names "block1" "block2"... etc.
I there a quick way to reference these in an array something like "block"+1 ?
In my main AS, I am using a MovieClip as a Container despite of the stage. In another AS file, I want to take the Container as a reference as well as addChild (such as bullets etc) to it, but I really don't know how to write the code.
If I only addChild in the current (sub)AS, it's working, but it's just a problem to removeChild.