ActionScript 3.0 :: Array.splice Equal To Displaycontainer.removechild?
Oct 18, 2009is array.splice equal to displaycontainer.removechild?
View 1 Repliesis array.splice equal to displaycontainer.removechild?
View 1 RepliesI am working on a basic game in order to practice my AS3 coding skills. The point I am at is that when my enemies (Falling vertically down) touch the bottom of the stage I want to make all enemies in all of my arrays be removed. Now, the code below works perfect for that description of what I want, but it does not remove everything at the same time. Instead it does not remove all of them at the same time, and it's very noticable. As in there is about a 3-4 second gap between when the first dissapears and when the last does.
So will I need to completely optimize my entire project, or is that any way I can do this process that is more efficient? Also what are your thought on just changing all of the enemies y coordinates to -100 or something at first, and then removing them while they are off the stage?
[code]...
From what I know the whole idea behind having collection classes is introduce extra wrapper methods which will be handy for developers.
Then why does ArrayCollection in Flex not seem to have some methods that array has.
ArrayCollection does not have a copy, concat, join or splice methods which return a new array so we need to do the copy manually?
Currently my code is this[code]...
What I am trying to do is splice the array at the right time in my code so it will disappear from my array- and the affect would be the returnRandom() function won't return that same item ever again. [url]...
Is it me or the indexs in the array are not valid after using splice?
Code:
var arr:Array=new Array(3);
arr[0]=porsh;//car objects..not implemented here just for exemple
[code]....
i am loading in and xml file based on the structure below...
[Code]...
So what i am trying to do is to Splice the array into 2 parts, all the question ID's that are A and all that are B for for example are placed into 2 new array's like so:
[Code]...
but i am having problems with the code below trying to splice them and seperate them,
[Code]...
have an array that's loosely packed - is there a way to splice (or otherwise cut out) an object from the array?
View 1 RepliesI'm trying to remove items from an array but its not working like its supposed to.Here is my code:
for(var i:uint = 0;i<OrderModel.getInstance().orders.length; i++){
if (OrderModel.getInstance().orders[i].time == hour){
OrderModel.getInstance().orders.splice(i, 1);[code]....
it deletes all the items but 1. I allways have one item left wich should be deleted but it isnt.
I am trying to remove an element from an array by using splice like:
Code:
myArray[1].splice(2,1);
This works & finds the element I am looking for but it doesn't really remove the element but it will just insert a blank object instead. Am I doing something wrong here. How would I "really" remove the element, meaning that the Array would become shorter?
I have an unordered ever-changing array that looks something like this:
12,23,1,4,11
I just want to basically tell the code to remove a specific item, let's say "23". But since the array is constantly changing length, I can't use splice.I also can't have any gaps, such as "12,,1,4,11". It must return "12,1,4,11".And on a related note, can I then check if this array has the same content of numbers as another array (and do I have to put them both in numeric order before it can perform the check, or doesn't it matter that they're not in the same order, as long as they have the same contents)?
I am trying to replace an Object inside my nested array (colArray) by using splice, the object acts as my player and will need to maneuver around the Array it's in. The Problem is splice doesn't appear to be showing anything in return, it comes up with an error saying: Cannot access a property or method of a null object reference.What am i doing wrong ? And how would i go with moving my playerObject around the array?
var gridContainerMC:MovieClip = new MovieClip();
var gridSize:Array = [col,row]; //Rows, Columns
var gridArray:Array = new Array();
var col:Number = 44;
[code]....
I have an array with many values pushed into it (happen to be names of objects). I am using a for loop to check all of the objects (by index number) for collisions, etc. Periodically, depending on a condition, I want to remove the currently checked object's name from the array list. I noticed that there is a problem if I immediately splice the checked name from the list. Namely, the list gets shorter, which is what I want, but not until I'm done checking all objects. Is it a good idea to solve the issue by incrementing i-- after the splice? I do this so that the object that used to be next in the list doesn't get skipped.It seems to work very well but I want to know if this is a lame/problematic solution and if there are any better ways of dealing with it
for (i=0;i<myarray.length;i++){
var ob=myarray[i]
//any old condition
[code].....
[Code]....
so my array is longer but u get the point. i want it to whenever i click on any letter, cause they are all on buttons, the one i clicked dissapears. i dont know how to work splice with the "i" variable,
I have a drag and drop game. You listen to a sound for exampl "bread" You proceed to drag that mc to a box. If it is the right object I want to remove that mc and splice the array so it doesn't choose that object anymore. However I have notices two things.
When I splice(0) a specific element - then nothing works. When I splice the cuurent indexed element ie: the last element to get right - it doesn't actually remove it from the array. I have highlighted the key code parts.
[Code]....
If I want a a random number not to be equal to a number in an array so that the random number dose not repeat itself.Or if can't be done with an array how would you get a random number to randomly generate numbers but not repeating itself?
View 9 RepliesIs there a way to make a new array like an old one but have it not be a reference?
View 2 Replies[Code].....
Here I have include tf1 and tf2 display Objects in container1 displayContainer. When I chedk the total number of childrenon container 1 it shows 1 instead 2.
There appears to be a problem with the sort function when sorting the array contains several elements that are equal. I tried to illustrate this in the simplest form below:
[Code]....
How can i evaluate whether my test array is equal to my static constant DEFAULT_ARRAY? shouldn't my output be returning true?[code]...
View 3 RepliesI'm trying to figure out why I can't remove the child of the meteors immediately after they have hit the planet or a building so that it would only damage the building once. When I try to just 'removeChild(meteorArray[k])' AS says that the 'object must be a child of the caller'. I'm not sure what that means, but I thought that the meteor was the child of the main document class.
View 2 RepliesI'm trying to figure out why I can't remove the child of the meteors immediately after they have hit the planet or a building so that it would only damage the building once. When I try to just 'removeChild(meteorArray[k])' AS says that the 'object must be a child of the caller'. I'm not sure what that means, but I thought that the meteor was the child of the main document class.
View 2 RepliesI've set up and button/movie clip array so that when a user clicks on a button, that movie clip loads and the old one goes away. What I'd like to do is use "addChild" to load the new movie clip and "removeChild" to remove the previous clip. I've got the addChild thing...sort of...it loads all the movie clips onto the screen at once though and I can't get the script to work another way.
Here's the code I've got:
var arrNavigation:Array = [{button:m1_mcButton, page:m1_mc},{button:m2_mcButton, page:m2_mc},{button:m3_mcButton, page:m3_mc},
{button:m4_mcButton, page:m4_mc}, {button:m5_mcButton, page:m5_mc},{button:m6_mcButton, page:m6_mc},
[Code]....
I'm sure I'm doing this all wrong, but hopefully not I'm new to AS3 and I'm making a basic shooter game. I am now to a point where when the enemy's health reaches zero, i want them to be removed from the picture. This is how I put them there...
[Code]...
remove certain children of a MovieClip gamePage which I have added to the stage.. I have added a removeListeners Array loop to my validation button which should do this although children still remain.. I think I may not be targeting the movieclips correctly.. Here is my code (which works but throws Error #2025: The supplied DisplayObject must be a child of the caller.) it must be syntax related
function onValiderButtonClick(event:MouseEvent):void {
var persoArray:Array = [gamePage.a1, gamePage.a2, gamePage.a3, gamePage.a4, gamePage.a5];
if((level == 1) && (gamePage.h1.occupied != true) && (gamePage.a2.hitTestObject(gamePage.h2)
[code].......
I've condensed my problem to the code/situation below for testing purposes. I have several MCs. At any point, any one of them may be on the stage (via various other user interaction throughout the project - I've cut out all that for simplicities sake). I need a way to, at the press of a button, remove (from the stage) whichever MC happens to be there at the time. My hope was to put them all in an Array (or some other container??) up front, and then make code that would remove any of its current objects on command. Am I barking up the wrong tree?Here is the code. For testing purposes, I'm assuming that only one of the MCs ("b") have been added to the stage at this time:
var aroject1 = new project1();
var broject2 = new project2();
var croject3 = new project3();
[code]....
I'm currently working on a system that loads images (by url flash gets from PHP).Now I've got a loop with addChild that works. I've put it into an array and I need a button with addeventlistener and then remove all the images in that array.[code]
View 2 RepliesWhen I'm removing an object from the display list (via removeChild), I'm performing a splice on all of the arrays that the object has:
[Code]....
My thinking was that this frees up some memory similar to disposing a bitmapdata. Does this even do anything? Or, will arrays be cleared and the memory usage restored when the object is removeChilded?
The dictionary use strict equals(===) for key comparison, how to change the comparison, so I can use my standard for comparison, for example, I have a class named Student:
class Student{
var id:int;
var name:String;[code]....
I want Dictionary use id to compare if the two keys are equal, not use strict equal(===) to compare if the key is the same.
Is there a right way to removeChild index of the array? My code is working but it throws me error once in a while; Here is my code;
var temp_array:Array = new Array;var cap_array:Array= new Array(sugar_mc,sugar_mc,cocoa_mc,milk_mc);[code]....
the error is ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.[code]...
I'm trying to build a conditional statement that will addChild and removeChild at different Timer Delays. Before I go any further, I thought, I should mention that I'm usinig TweenMax to ease the alpha of ease Child from 1 to 0 and back during the process to imitate a fade-in/out.
I'm getting issue with only one line - inside a conditional statement.It's running "OK". The movie runs as I want it, but the remove/addChild transitions are not at the speed I want it at. I am getting an error message in the output, but other than that, the movie runs fine.
stop();
import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.plugins.*;
[code]....