ActionScript 3.0 :: Deleting An Object Out Of An Array?
Mar 12, 2010
Actionscript Code:
var gameObjectArray:Array = new Array();var gameTimer:Timer = new Timer(25);gameTimer.addEventListener(TimerEvent.TIMER, gameLoop);gameTimer.start();
[code].....
So every 25 milliseconds, a block is being created and it pushed into an array. The for loop cycles through the array and moves the x by 1 for each object in the array. If the x reaches past 300 pixels, then I want to delete the object from the game entirely. The way I'm doing it now yields an error, so what am I doing wrong and what should it look like inside of the "if (i.x > 300)" stuff?
I'm trying to figure out if this is possible?lets say I'm trying to remove the value "3"
Code: Select allvar myArray:Array = new Array("1","2","3","4","5"); myArray.pop(); // removes the last value "5" myArray.shift(); // removes the first value "1"
How do you remove the value 3 and still have the correct lenght?
Is there a way to delete a specific value in an array? For example, the array:"Banana Peel,Hippopotamus Leg,Computer Wire,Keyboard"Would there be any way to delete just "Computer Wire" from the array? I found the Array.splice thingy, but it seems that you need to know the index of the thing. Therefore i guess my question is: Is there any way to find the index of a particular value.In the thing I am making, the value could be at any index in the array (it is put in place by the user), so I could not just say Array.splice(2,1,)
I'm making a very short text adventure, not one that will be all that fun, but just so I can learn a little as3. So I was designing a system that splits the persons input into an array of words, and then goes through and takes out unimportant words like "on." To test this out, I quickly (and messily) coded it up, and the only thing you can do is sit on a box. but it doesn't seem to be working. if you type "sit box" it works, but "sit on box" does not.
how to delete an element from an associative array? Splice doesn't work and I tried using the delete action but this doesn't produce the desired result....the element's properties become undefined.
x = new Array(); x['kamil'] = new Object(); x['kamil'].name = "kamil"; x['madzia'] = new Object();
[Code]....
How to remove any element from that array when instead of indexes we have names; such as kamil or madzia. pop, shift, slice, splice and so on... dont work at all.
I'm working on a game for my flash class, where you a question pops up and asks you the name of a US state and you guess the state. I have created the 50 states as buttons with the questions. Each state is in its own frame and i need a way to randomly select a state.
After the game begins i need to crate an array with the frames of all states and then have a random() function select a frame from the array and display the question on the screen. After that it needs to delete the frame from the array so the random() function cannot select the same question twice. Once that is done and all of the data is gone from the array then it needs to move on to a different frame where the total number of questions correct is calculated and its display on the screen.
im making a game and it has enemies randomly spawning at the top of the screen going down to the bottom, so far it all works fine, except for when i try to remove them when they reach the bottom of the screen I get this error
Code: ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/removeChild() at spaceavoider/deleteenemy()[/Users/bobbymoranville/Desktop/space
I load into an empty movieclip (via addChild) a library object (a movieclip of class MyObject that extends the MovieClip class). At some point, from the main I remove this custom movieclip from its parent and I set any reference to null to completely destroy it. The question: what if in the custom movieclip class there are eventListeners? Are them deleted when I destroy the object? Should I write a method to remove them before deleting the object?
Is it possible to delete a LoadVars object from memory, as well as its contents? Say I load 20k of data into a LoadVars, and I delete the LoadVars Object, does it stop loading variables into memory, and does it delete the memory that it importing?
I'm having some trouble with fully deleting object references. My object (a displayObject) has an ENTER_FRAME eventListener with weakReference set to true. It simply traces "hello" every frame. Then in my document class I try to delete it as follows:
Code: delete(removeChild(obj));
. Despite this, the eventListener keeps on printing "hello". And I don't believe I have any other references to the object lying around. But in case that is true, is it possible to print the number of references of the Object?
Is it possible to delete a LoadVars object from memory, as well as its contents? Say I load 20k of data into a LoadVars, and I delete the LoadVars Object, does it stop loading variables into memory, and does it delete the memory that it importing?
I am curious if this is an okay implementation of the Array.filter() method.
[Code]...
I was not able to figure out an implementation of the callback function for the filter() method, where the callback was outside of the getGallery() function. I wonder if there is a way to get the isGallery function outside of the getGallery scope?
I have been trying for an hour to clone an array, It seems that nobody has a true reference on how to do it. Two arrays - movieClipArray 1 and movieClipArray2 I want to duplicate movieClipArray1 entirely so that when I addChild(movieClipArray2[0]), it doesn't take away from movieClipArray1 or reference it in any way.
I am trying to use the following code to convert an object read in from a ByteArray to an Array and store it:
var data:Object = ba.readObject(); var invObjects:Array = data as Array;
In debugging, I find that 'data' is indeed populated with the correct data and takes up memory and is in an Array friendly format. However, invObjects is NULL. How does merely saying 'data as Array' make the holding variable suddenly null?
I created an array in the var declarations with Code: var private eDrag:Array In a function that adds imported mcs to the stage, I also added code to push each to the array. Here is an example of a block of code loading the object with the part pushing the object to the array at the end:
I'm working with a web service and am returning an array to a field (that I set the data type as an Array). The result thus far is "[object Object]". How can I get the array values back out as a string?
What I should do is parse an xml and from its node name create object property and then create an object array based on those property. Am I able to make myself clear.
I'm basically loading an XML file to assign instances of a movie clip a distinct value, which it uses to modify its height. So, I'm looping through the xml and instantiating my class Object each time (Rect) and then placing that Object into an array:
Code: function loadXML(loaded){ if(loaded){ var boxArray:Array; xmlNode = this.firstChild;
[code]....
the trace here always comes up undefined. "listPosition" in this bit is an Rect parameter, defined in the previous bit of code as "i", so I can keep track of the order of the stack.I've found one or two examples of putting objects into an array and getting them back out, but it doesn't seem to work with this, maybe because I'm using a class. I don't know.Could this be an area where I need to use the array access brackets, like around the movie clip the object is loaded into. I've tried everything I can think of -- referencing back to the movieclip, adding extra objectRef type parameters... nothing has worked yet.
I have a function that checks if 2 objects are touching OB1 and OB2, if they do touch it runs the rest of the collision code where OB1 is the character and OB2 is a tile that the player cannot pass through.
I came across an issue where i wanted sprites to be separate from the hitboxes but my collision code works by checking the height and width of an object (you guys know the drill).
So i have a Tile class with 2 parts to it, a bitmap and a movieClip.
So i have this setup(pseudocode):
Code: loop { function collision (ob1 , ob2[loop].movieclip) }
This should work right? But it ONLY works for the first object in the loop!
I have a class in which I have declared an array. The functions in that class are designed to make changes to the array, but it's not working:
[Code]...
Anything I do to customerCheck treats it as if it were a new array. This is especially obvious when using customerCheck.push in addCharToCheck() -- the trace always shows a blank array before push and an array with one object in it after the push... then next time it does the same. I know I'm making some sort of fundamental error regarding the scope of the array within the class but I just cannot find any good information on how to fix it! Moving to AS3 (been coding it for all of about 3 weeks) is a nightmare so far, and it seems to be the 'easy' stuff that causes me problems
i have an image and it is a large sheet with series of poses for a character (like a sprite sheet), and wanted to take them out to be animated and make them into individual movie clips.I did successfully, but I went to delete the original image, however, the movie clips became red fills.Is there a way I can get rid of the original without affecting the movie clip?-If not-I wanted to do this because I thought it may save memory but i am not really sure if it will affect the memory since the sheet itself is not going on the stage, is there a chance that this full sprite sheet in the library won't effect the file size of .swf?And if it does, if I turn it into a graphic, or movie clip, will that compress it?I use Flash CS3!