ActionScript 3.0 :: Referencing A Child Of A New Object Instance From The Library?
May 20, 2009
I make a movie clip in the library ( a button with a text field on it ) and export it for actionscript. Then I create an instance of the object using code ( myButton = new Button1(); ).And then I want to access and change the text field ( whose instance name is "myField" in Flash ) afterwards.Is that possible, or I have to create a custom class for the object, or just create an entire button dynamically?
Because what I have tried until now doesn't work.
Code:
var button1:button_test1 = new button_test1();
button1.x = stage.width / 2;
button1.y = stage.width / 2;
[code]....
This questions is for all movie clips: is there a way to access a movie clip's objects with actionscript after you have created (with code) an instance of that object (which was designed in flash, and exported for AS) ?
Right now, I create the world class first, from my main timeline. This is placed as a display object, and it contains many other display objects, most notably the level Holder, which holds all foreground pieces.After creating the world class, I create the camera class from my main timeline, and pass it the instance of the world class as an argument. What I'm trying to do in the camera's code, is create DisplayObject variables for the levelholder (and several other children of world) and set it equal to world.lvlHolder, like so
Code: public function Camera(input:DisplayObject) {
I have a graphic or movie clip as an example which is a water bottle. An what I wanna do is that depending on what is the user response, in my case is how long the person is doing some activity, depending on that I want flash to generate a number of graphics/movie clips on the screen. As example the person says that takes 6 minutes doing "x" activity, so as a response of a button click which says "generate consumption", it generates on the screen how many water bottles he has consumed for that range of time doing that activity, for example each minute is 2 water bottles, so it has to generate 12 water bottles on the screen when the user press "generate consumption".
I want to creat an instance of an object out of the movie's library. I know there is that one funky function duplicateMovieClip that will duplicate instances of objects already on the stage, but can I dynamically insert objects when I want to, without having to drag a prototype object onto the stage manually?
If an object, or say... a document class, creates an instance of a class (and stores it as a variable), and it doesn't pass any arguments to the constructor of the class, can that class object, by simply having a function of it called by the parent, tell who sent it that command/request?In other words, can a class object know who called it (such as it's parent) via a (seemingly) anonymous call?
If an object, or say... a document class, creates an instance of a class (and stores it as a variable), and it doesn't pass any arguments to the constructor of the class, can that class object, by simply having a function of it called by the parent, tell who sent it that command/request? In other words, can a class object know who called it (such as it's parent) via a (seemingly) anonymous call?
As one would expect, Classes within my RSL can access the classes and methods of the embedded swcs. In other words, classes in my library can for instance call import org.alivepdf.Print and then call AlivePDF's Print.print() method. But it there any way for my project to also use those third-party classes and methods, by "tunnelling through" my RSL??? Even though my project is using my RSL, when I try to type out org.alivepdf.Print it cannot be found.(Obviously I can make a manager class in the library to "pass through" specific commands to the embedded swcs; I'm looking for something a little more generic and all-encompassing here).
Does creating a new instance of an Object that uses an identical name to an older instance, delete the previous instance? Or should the original instance be deleted first? The code uses a ridiculous amount of XML vars. Isn't it less memory intensive to parse the XML and save the properties to an Object, and then delete the XML Object, rather than keep the XML Object around and reference it's child nodes directly? Is it better form to break up a huge XML file (>600lines/3200vars) into smaller chunks?
In my child swf I am using the sound from library with "attachSound". I also use the play/pause button controls of this sound alongwith the other animation.Now when I load this into my main swf file with "loadMovie", It plays fine but no sound. I found that this is due to no sound linkage in my main file library.I want to share my child swf's library with main file's library.
I have a movieClip with one frame on the timeline containing one child whose instance name is "myContent"I am using this function to swap "myContent" with any number of possible class instances.
I don't know how to reference to sharedLibrary.swf file.That sharedLibrary.swf is in root folder and another swf which uses sharedLibrary.swf is in folder TEST.I try to pur reference like: ../sharedLibrary.swf and ..sharedLibrary.swf and ..\sharedLibrary.swf and ..//sharedLibrary.swf
I'm trying to make a small card simulation that creates a pile of cards, and when I click on the deck it flips the top card over and moves it to another pile. Clicking on the other pile flips it back. I'm using Flash CS3 so can't use Flash 10's 3D abilities. So far, I'v created a Card class (extending sprite) which draws 2 rectangles (for the front and back faces), and contains a public method flipTo(). which when called starts a tween which moves the card and flips it (by adjusting it's scaleX value to negative, and when scaleX = 0 toggling the visibility of the card's faces).
This works fine, and so I have a for loop that creates 10 instances of the Card class on top of each other (and within a sprite container called rightPile), giving me my pile. I've attached an event listener to the pile, so when I click it, it performs the onRightClicked function, which calls the top card's flipTo() method. So when I click on the pile, the top card flips. However, when I click again, the same card flips again, and I can't figure out how to make the next card flip. I've tried keeping track of the index of the current card, and using rightPile.getChildAt(currentCard).flipTo(), but I get the following error...
Each of these children has an index value assign to it for the purpose of relating to an XML file, but that's beside the point. Those children have other children eventListeners that call a tween function. That tween function wants to tween the first child.First question: what is the proper syntax for referencing the parent and getting that index value? Does this work, with currentTarget being the child that called the function:var something = e.currentTarget.parent.index;If not, how can I get that index value?Second question: In order to determine which of the first children the tween is applied to, I could write a conditional that checks the index value and tweens based on that. Is there an easier way to do this? And what conditional would work best? I'm thinking if() else() but I'm relatively new to as3 so if there's something more efficient I'd love to hear it
I have a series of clips with instance names like box1, box2 etc. Altogether there are about two dozen. Is there any way I can run something like "box#.x = 0" where # would be a wildcard to place all instances starting in "box"?I'd also love to be able to set their y position where box#.y = (#-1)*2. For that I believe I need to do a count function, but I was hoping there was another way. For other reasons I need to be able to control the instance names and not have that be automated in any way.
Is this possible? Searches in these forums as well as Google and a few other places have turned up nothing. It would save me a huge amount of time and work if either of these were possible without having to rework all of my instance names that are already in use.If it's relevant, I'm doing this all in Flash CS4.
I have a frame that I want to display but the function that calls it exists on the parentHow do I call a frame that exists within a child movieclip from its parent?Here is my code. It is basically for a restart button.Here is the parent function.
I feel like I should know this by now, but I'm having trouble. I want a function in one of my child functions to increment an integer in its parent function.
I am building a mini language translator out of XML nodes and Actionscript 3.I have my XML ready. It contains a series of nodes with two children in them. Here is a sample:
I'd like to add a couple of different MC's to the particle stream. I'd like to do that by referencing different items in the library.So I have 12 different particles in the library exported with classes named from Bubble0 to Bubble10 now as I run through my for loop I'd like it to use a different particle each time. first time I tried:
ActionScript Code: var bubbleArray:Array = new Array(); bubbleArray.push(Bubble0,Bubble1,Bubble2,Bubble3,Bubble4,Bubble5,Bubble6,Bubble7,Bubble8,Bubble9,Bubble10,Bubble11) for (var j:uint = 0; j < NUMBER_OF_BUBBLES; j++) {
[code]...
Scene 1, Layer 'actions', Frame 1, Line 871086: Syntax error: expecting semicolon before leftbracket.Is what I'm trying to do possible without some clunky switch statement?
P.S. I tried searching the forum for an answer but the terms are so common I couldn't find what I'm looking for.
So I am using the following code to load an external swf and am trying to reference the timeline of the loaded movie i.e. a frame label. Say I wanted to do a simple gotoAndPlay what is the syntax? I would use (myloader.gotoAndPlay ("framelabel") this seems like an obvious answer but doesn't seem to work for me.
Code: Select allfunction yesClick(event:MouseEvent){ /////// Loader (Loads External SWF lesson file) ********************************** var myLoader1:Loader = new Loader();
I am completely new to actionscript although I do come from a OOP background. I have been asked to trial Flash and Actionscript 3 in particular - so I do come with a few preconceptions on how I expect actionscript to behave. I have a problem I donot understand. I have created a new class and to test it I use a simple test harness in the form of a .fla file.
The issue I have is when I create a new instance of the class and assign it to a variable, subsequent background changes to that instance of the class are not 'picked-up' when referenced through the variable. I would expect that given instance of class could be assigned to many different variables and any updates using one variable would accessible using any of the other variables.
I've got a linked class, with an external .as file, tied to a movie clip called "Menu" in an encompassing fla. In this actionscript file, I am trying to pull some information from a few things I made with the flash authoring tool. There are a few symbols on stage in the fla that I drew with instance names "greensboro" and "birmingham", and I want to get their x-position inside some functions of the linked class. I've tried returning a value from "greensboro.x" but of course it says the variable greensboro doesn't exist, because I haven't defined it in the class. Surely there is some way of getting that info in a variable of my linked class!
Edit: here is some code to show what I've tried(cutting everything else). This is in the .as file of the linked class:
I'm trying to reference an instance through the use of a variable in my call to a prototype. The variable is myVar and contains the instance name to which I want to apply the resizeTo prototype. My syntax is incorrect.
Code: on(release){ //disregard this line this.swapDepths(this._parent.getNextHighestDepth()); //this is calling a prototype named resizeTo this.resizeTo(150, -100, -100); //Setting instance name of another movie myVar = "green"; //Trying to drop that instance name into my next prototype call this._parent.myVar.resizeTo(100, _parent.old_X, _parent.old_Y); }
I have a document class with a child MovieClip on the stage. I have the clip already on the stage because it's part of an complex layout provided by the designer and it seems easier to leave it on the stage than to use addChild (since I would have to add about 60 objects).What is the best way to reference the document class from inside the child MovieClip class?
I have a main.swf and a slider.swf. I load the slider.swf into main.swf. In my slider.swf I have this code which adds an image to the stage from the Library:
[Code]...
I assume it has to do with the stage.stageWidth. Is there a another way to reference the stage. If I load the the image externally via a loader I can use the stage.stage Width.
I would like to know the way to prevent a child swf from referencing its parent swf stage width/height?
for example, i created a child swf that loads image and center it on it's stage. As a stand alone its fine but i loaded it with parent swf, it centers on the parent swf instead.
I'm using AS 3 in Adobe Flash 9 Public Alpha. I have a MovieClip named "RandImg" in my Library with an associated "RandImg.as" class file. I'm placing this MC on the stage during design time. This MC contains an instance of another MC with with the instance name of "mcDefault". In the constructor of my RandImg.as class file, if I attempt to reference mcDefault, I get the following error when I try to compile: ReferenceError: Error #1056: Cannot create property mcDefault on RandImg. How do I reference this movie clip in AS 3?
I am wrapping my brain around OOP in AS2. I am making two posts on two different subjects. My question here is: when should I use local instance variables, and when should I attach new properties to the instance object? (Feel free to correct my terminology.) Let's say I have a class for a scrolling background, which scrolls when I mouse over its edge. I want to put these values somewhere:
1) How wide is the border in which a mouseOver makes it scroll? This is basically a semi-constant I set it up once and keep it the same, unless the user changes it in an options menu to make the border wider or narrower. Call this scrollBorderWidth.
2) How fast is the background scrolling now? I want to track this so I can smoothly change the scroll speed over several frames. This is often changed. Call this scrollSpeed.
It seems I have two ways I can store and access these values and darned if I know which is better practice. METHOD A: Make them local variables in the class, so the scrolling background instance has them as local vars. I set them up thusly: