ActionScript 3.0 :: Change Just One Instance Of An Object?
Apr 9, 2010
is it possible to dynamically change one instance of an object without effecting the others? I've created an input text field in the library and when the user hits the "add text" button, it adds an instance of the input text field to the display list. They can then format the text how they wish (color,alignment,etc..). When they hit the "add text" button again, a new instance of the input text field is added to the display list, but when they try to format the new input text field, all of the fields are effected. How do I get around this?
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?
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:
Is it possible to change an object's instance behavior on-the-fly? In other words, can I change the instance of a movie clip object to behave as a graphic through actionscript?
Can an instance name change by the way of a variable? In the attached file, I am currently developing a hittest assessment. I want to convert most of these boxes to componets so it is easier for people outside the department to use. However, I am having trouble with the hittest zone. I am using a componet for the hittest zone. It has an instance name of "dropzonetrue".
Then, as of now, I have a variable set up temporarily in the first keyframe as correct = "true" dropzone = "dropzone" + correct
In the Test mc, I have code listed using the dropzone variable as the hittest criteria, rather than the instance name of the component. However, it is not working. Is the instance name of the component going to always override the variable name?
I have problems in my flash project. I cant duplicete some pictures or "group items" , when I copy/paste them and when I start to edit that one that I copyed it automacly edit the original version...I cant duplicate this object on picture ( http:[url]....)... what ever I do..it always start to change the oroginal object...
I am trying to change width of ComboBox instance. I want to change width of the original box, not the list. List width can be changed with inst.dropdownWidth=myWidth; ComboBox width can be changed by free transforming in Flash IDE, but that is not exactly ideal. There should be a code solution for this (I hope). Anyone know or know where to find out? I could not find it in the documentation strangely enough (or maybe I just missed smtg obvious).
I'm making an activity where you drag and drop text (in mc's) into a specific column. There are two columns, the left is for workplace responsibility the right side is for personal responsibility. I've made the actionscript so that I can drop multiple targets into any of the correct spaces they're supposed to go to and I want the text to appear in that particular spot.
At the moment I have dynamic text, and when the text/mc is dropped into the box I have the code (textOne.text=event.target.name) - and so the instance name shows, but since you cant have whitespace in the instance names its not formatted the way I want it.
I have 2 instances of a button wich is red and has a white label I have to edit the buttons so one button is red, and the other is green I was doing this, but when applied Also the title of label goes green instead of being white...
I'm stuck on this annoying bug of Flash:to animate a character i have different graphic symbols of hand positions inside a single container graphic symbol; that way instead of having to swap different symbols while animating and tweening, i just have to change the number on the "single frame" input box on the properties of the symbol.
It worked fine a few sessions ago, but now it won't let me change the frame number if there's a tween before that keyframe; tha keyframe isn't participating on any tween, and may even have some frames between the previous tweening one. The only way it will change is if i remove the first tween or add a blank keyframe between them, wich of course isn't an option when animating... i know it would work if i add a new layer and continue there, but it'll add a lot of mess to the already busy timeline.
The strange thing is that it remains working on some frames, from the previous session, and if a cut and paste them i can change the frame number freely; but if i try to build a secuence from scratch, it won't let me, even on a new document.
I adopted and existing site, and am making some changes.
Publish settings: Flash 8 Actionscript 2
A seperate movieclip named page4 shows in the library to have 6 uses. On the clip are two text boxes both static and one has a movieclip button overlayed. Selecting any of the three changes the propery panel for allowing editing. However. Even though I can see the reference point (the cross) of the movieclip page4, I can find no way to get flash (CS5) to show me the properties to allow giving it an instance.
How do i correctly change a variable from an instances timeline? I need the variable hero.landing to = true when a particular frame is hit in the timeline.
I used to add the instance simply with addChild(name);
and the AS in the timeline was:
MovieClip(this.parent).hero.attacking = false;
However i add the child to the gamelevel instance like:
gamelevel.addChild(name);
and the code: MovieClip(this.parent).hero.attacking = false;
only temporarily changes the variable, it resets back to its previous immediately after the frame is reached.
For example, hero.attacking is true until it hits a certain frame at which point i want it to be set back to false. However now that i add the child into the gamelevel instance, it only temporarily sets hero.attacking to false, and then resets back to true after.
I've got a map, of those you roll over the mouse on the sections and it displays the section name.I want to add to these code, the instance of changing the colour of the section, so sections are more visible each time you move your mouse over the map.[code]...
I dont know what I am missing here but what I want to do is change the text inside a dynamic text field via actionscript. the code I am using runs in a loop within a function. Trace is outputting the correct values.[code]...
On my stage I have about 10 different objects that are all copies of the same MC symbol in my library. I gave them all instance names: block1, block2, ... block10. In the code for my Document class, I wrote: Code: for (var i:int = 0; i < numChildren; i++) { trace(getChildAt(i).name) }
The first time I ran my code, my trace looked like: Code: block1 block2 ... block10 Later, I changed around the z-axis for a few of these objects on my stage (Ctrl + SHIFT + DOWN/ UP)
Then I ran my code again, and I got: Code: block1 block2 instance 16 instance 17 ... etc Why does affecting the z-axis of these objects affect their dynamic names?
i have four buttons instances (of same object) on the stage first_btn,second_btn...fourth_btn). i created an array (btnArray) and stored buttons instance name in it. After this i created an timer event to cycle through all the button for certain interval.the code is:-
function timerListener(e:TimerEvent): void { while ( i <= (btnArray.length - 1)) { trace(btnArray[i]);
I've been wondering if it's possible to change the backend of the LLVM implementation from ARM to something else for instance C or C++? Currently Adobe uses a Actionscript3 frontend (which I can't currently find - closed source?) for the LLVM to produce iOS applications. I'm wondering why there isn't more options for other backends? Of course there are limitations to going this route, no loading of external swf files at runtime (to name just one), but the iOS applications seem to manage really well with this feat. I did find this pdf which talks about the AS3 LLVM frontend, but no guidance to where the code is or how to investigate... I just think it's a missed opportunity that Adobe are missing and wondered how much work it would be to do such a feat?
Ive made a button (Convert to symbol > Button)and set that up, then made a new layer for a dynamic text box and gave that the name btn_txt so my plan is to just have instances of that button and be able to change the text through actionscript2this is my code and i thought it would work but nothing happens
[code]...
ive traced one of the text fields and it returns with undefined ive also tried using _level0. but that does nothing
what I"m doing. I have a game with several stages. When the user presses the button for "stage 1", I would like the background to change. When the user presses the button for stage 2, I would like the Html background to change again. I understand using ExternalInterface with Javascript is the way to do this but I'm at a dead end. I've tried just loading images onto the stage, but that was too much of a memory problem. I'm using swf object: my code so far"
I need to find an instance of a movieclip that is on my flash file. It is really big and uses a lot of memory. It says on the number of times used that there is one instance of the object on the flash file, but I can't find it. I thought I deleted them all but there must be one left. How do I go about finding it? It's a really large flash file with many layers, and I don't want to just delete the library file. Is there any way I can find where the object is placed in my file?
If I pass a MovieClip through as an argument in the constructor for a class I am writing, how do I create a new instance of that MovieClip from within the class?
The MovieClip has a custom class name that is unknown to the class I am writing, it is simply passed through as a MovieClip.
I tried:
Code: _class = Object(mc).constructor; _mcArray[i] = new _class;