ActionScript 2.0 :: Delete Object Declared Within Function?
Mar 6, 2010
"you cannot delete variables that are declared within a function with the var statement".Which, as it happens, is precisely what I was trying to doI want to delete the object because it holds a bunch variables that are no longer needed, to prevent potential speed/memory issues later on.it's impossible (probably with reason) and I know vars are local to a function, so now I'm wondering if it is actually necessary to remove local variables
I want to add about 10 textBoxes and I want them all to be contained in different variable names. I need to declare them outside the document constructor function because of scope, but how then can I use them in a function? I want something like
I have a problem accessing a variable which is to store a frame label. Code has been shortened to relevant parts. The following is on the main timeline.
I have a movieclip called "sections" which loads different sections of the website.When the first section is clicked thencontainerCenter is true and the evt.target.name is loaded in to the nextSection variable.Now if a 2nd section is clicked then containerCenter is false. It plays the sections movieclip. Within that movieclip it will eventually play and come to the following script:
PHP Code:
gotoAndPlay(nextSection);
For some reason it won't pick up the variable "nextSection" within the movieclip. I'm getting the error message "Access of undefined property nextSection". It has no problem when it is in the main timeline.I know you can't access a variable declared inside a function, but I have it declared outside the function as you can see above. I've just amended the variable from within the function.
Scene 1, Layer 'auto button', Frame 1.The instance name 'semisideview' is declared on an object of type flash.display.SimpleButton but there is a conflicting use of the instance name 'semisideview' on an object of type flash.display.MovieClip.
I'm using flash MX, and this was written in the only frame. Before this, I had the function declared and then called, and the output was 1 then 2 then 3.With the function declared at the end there is no output.In both cases the movieclips never played.
These two functions are taken out of my as class file, even though the setInterval is never cleared it only calls generateParticles 1 time. Someone please help me figure this out. I have been messing around with it over an hour but still can find why its only called once. emit is a private var Number declared outside the function in the class.
If my class has declared a private var _iDontGetDefined:EnormousObject; but never creates anything to be stored there, does this impact performance or use a significant amount of memory?
package { public class PeopleInfo { public var elements:int;
[code]....
I'm getting a run-time error: Error #1009: Cannot access a property of method of a null object reference referring to the for loop's first line dataWriteToDB.PeopleName since it is NULL. I'm guessing the problem here is that while dataWriteToDB is declared initially, the array lengths for the arrays in PeopleInfo class have not been set yet. Or, not sure otherwise why it's NULL.
I created a menu in flash and As3, nested in a HTML page, which calls html pages by the classic way urlrequest->navigatetourl.Now I was wondering if i can make As3 call a AJAX function declared in the HTML page or at least in the swf file itself....
When I use MouseEvent.MOUSE_OUT the target is [object MovieClip], but when I use MouseEvent.ROLL_OUT I get [object Bildspel] - and Bildspel is my class. The thing is that when I use ROLL_OUT I'm not able to delete the targets ENTER_FRAME event.
I have a reusable function, on the first frame it works, but on the 2nd it doesn't load properly and duplicates itself because the other function is still running in the background.
The order of events are this. From the main stage I load a movie clip (movie clip 1), within that movie clip I have a button that loads another movie clip (movie clip 2) and also starts a timer that will automatically unload movie clip 2 . Within movie clip 2 I would like to create a button that stops the timer on movie clip 1 and starts it again.
I need to stop a function in movie clip 1 from movie clip 2 and then start that same function on movie clip 1 from movie clip 2.
This is the code I am using
This is the movie clip 1 code:
PHP Code:
function moreTimerFun(moreTime) { this.onEnterFrame = function() { if ((getTimer()/1000)-moreTime>7) { delete this.onEnterFrame;
I have a contextMenuItem on an object that I want to use to delete the object. The object being deleted will not have an ID so how can I remove this object from the stage?
I've read many many articles and I've asked others if the can help, but I'm stumped. The functionality I'm looking for apparently works in CS5 of as3, but it's not working in my cs4 version of as3.
This is what I'm trying to do. I've created a first person shooter game. I have bullets come out of a gun and hit the bad guys. When the bad guys are hit, I want to do the following -
1. make the bad guy and bullet invisible - done, works.
2. remove all references to both the bad guy object and bullet object - done, seems to work.
3. delete the bad guy object and the bullet object from the stage - doesn't work, can't seem to figure out why not.[code]...
we know obj2 is just a call of obj1, they are the same thing.also, prameters of function are also the calls of the object outside e.g.
var objC=new Object();objC.name = "Jhon";[code].........
it seems that when setting tar to null, the obj outside in the function didn't changeit seem taht everything you do will pass to the real object, but not setting it to null;
my questions: how to make the real object became null with a call?
I am working on a paintbrush application in AS2.Currently I am working with drawing a circle. I have a circle movieclip in library. Whenever users click and drag on the stage they can design a circle. I am using mouseDown, mouseMove and mouseUp event for this.So for mousedown I am calculating the current x and y position then for mouseMove the circle starts to grow depending upon the x and y position of mouse.Then for mouseUp I am deleting the mouseMove function, so that it stops drawing. This is working fine. But when I want to draw another object on the stage the mouseMove function does not work. I am confused on how to undelete the mouseMove function.[code]
All of the bullets are of the "Bullet" class and are stored in an array called "bullets" in the main class. When bullets exit the screen, removeBullet(bulletID) in the main class is called.
private function removeBullet(id:int) { removeChild(bullets[id]); bullets.splice(id); }
In my Bullet class I have an enterFrame listener that traces "stillHere". So as soon as a bullet is added to the main stage using addChild, "stillHere" starts popping up in my output panel.
My problem is that even after I call the removeBullet, "stillHere" keeps popping up in the output panel, which tells me that the object which I tried to delete is still sticking around somewhere in the memory.
Flash gives access to query-string parameters via calling loaderInfo.parameters() method.And I couldn't delete the field on the object. IS it possible to delete some fields in the object? how can I do this?
I have created a delete button, and when the user clicks it.. I want it to delete the selected movie clip. I have created a variable selecteddrawing to store whatever movie clip is currently selected.
when i call the event listener, and tried removeChild(selecteddrawing) it gives me this error:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display:isplayObjectContainer/removeChild() at SendLove/deleteListener()
Here is the code that i just wrote for the delete button. I will attach the entire AS3 file as well.
ActionScript Code: create.delete_btn.addEventListener(MouseEvent.MOUSE_UP, deleteListener); private function deleteListener(event:MouseEvent):void {
Flash will automatically remove the objects that you added onto the stage when the frame changes, but leaves all the objects created by actionscript. cleaning them up/removing from stage when the frame changes?
Is there any advantage to deleting vars instantiated within public or private functions in a class, or are they removed from memory after the function has been invoked/run? The function below is completely arbitrary for example:
Code: private function someFunctionHere(_ar:Array):Void { var _swf:String = _ar[0]; var _nm:String = _ar[1];