ActionScript 2.0 :: Making A New Array Equal To A Different But Not A Reference?
Oct 12, 2006Is there a way to make a new array like an old one but have it not be a reference?
View 2 RepliesIs there a way to make a new array like an old one but have it not be a reference?
View 2 RepliesI want to loop through an array of map tile coordinates, place a tile on the stage for each coordinate, and put a reference to each tile instance in a separate multidimensional array called mapRef, where the tile instances can later be referenced by their coordinates in mapRef. Is this line (excerpt from the code below)... Main.mapRef[i][j] = mapTile;.[code]
View 3 RepliesConsider this for a second:
Code:
theState.stateGrowth = 0;
globalVariablesArray.push(theState.stateGrowth);
trace(globalVariablesArray[0]); // traces 0
theState.stateGrowth--;
trace(globalVariablesArray[0]); // still traces 0
Is there anyway to make it so that globalVariablesArray[0] always contains the 'new' value of theState.stateGrowth, even if it changes? In other words, store the property itself in the array, not just the value of it?
I've been making something using sockets, and I've run into a problem. The outstanding data from the socket is loaded into a string, like so:
[Code]....
To check if a sentence started with PING, I wouldn't be able to, because it will only acknowledge the first line (even though I can append all of it to a text box fine). I also tried testing scenarios with strings containing multiple lines, but found that by making a string equal to multiple lined text, it produces this error:"1094: Syntax error: A string literal must be terminated before the line break.", and I checked, I didn't miss out any speech marks.
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 array.splice equal to displaycontainer.removechild?
View 1 RepliesThere 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]....
I am posting my code that attaches the movieclips on stage
[Code]...
i was hoping that when the newMc expands, all other mc would keep the same distance between each other as at initialisation. I not able to figure how to do it. maybe even an earlier post or llink where similar query was explained.
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 RepliesIs it possible to make reference to a variable name rather than the variable value?I have an array full of variables called [int1, int2, int3] and I have defined int1 as 10, int2 as 20 and int3 as 30. I've also got three empty Strings called int1temp, int2temp and int3temp. How would I later make reference to the name of the ints ie. int1, int2 or int3 rather than making reference to the value ie. 10, 20 or 30?
View 1 RepliesThe 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.
I want to loop through an array and use the array value to reference a variable.
The Setup:
(For illustration only. Not actual script)
My MCs:
triangle_mc
square_mc
[Code]....
I'm working on a set of buttons so that when one is rolled over, it gets larger and the remaining buttons get smaller. This however will all be housed in the rollOver function of the individual button rolled over. So I used an array and a "for loop" to encompass all of the buttons. I am able to reference the one I roll over by simply using "myButtons[i]" but I cannot figure out how to reference all the others using the array.
#include "mc_tween2.as"
var myButtons = [this.myButton_1, this.myButton_2, this.myButton_3, this.myButton_4];
for (var i=0; i<myButtons.length; i++) {
[code].....
I want to loop through an array and use the array value to reference a variable. The Setup:(For illustration only. Not actual script)
[Code]...
I have an array which changes with a pop and a push on button clicks:
var nextLoad = ["img0"]; It will always contain img0, or img1, or img2, etc
Then I'm trying to control another element on the stage by checking which img# is in the array:
trace (nextLoad); // this correct shows the new value in the array
[Code]...
I have two buttons that are in a movieclip, how can I reference them like I have done with the 2 buttons below so that they can be added into an array?
container.anotherButton and container.anotherButton2 are the buttons I want to add to the array.
var agreeButton:SimpleButton; var disagreeButton:SimpleButton;
var buttonArray:Array = new Array(agreeButton, disagreeButton);
for (var i:int = 0; i < buttonArray.length; i++) {
buttonArray[i].addEventListener(MouseEvent.CLICK, mouseClick);
}
[code]...
This is nested inside another for loop which creates an array of the movieClip rows. Problem I see them drawn and positioned correctly on the stage but I cant reference any other than the top row in order to change the alpha for example.
I have a class consisting of a nested array called twoDArray.
public class TestArray
{
public function TestArray() {
var twoDArray:Array = new Array(new Array("one","two"), new Array("three", "four"));
}
[Code]...
I thought I would be able to reference OrbArray for example using trace(OrbArray[0][0]); giving me the output I am looking for of "one". When I attempt this I get ReferenceError: Error #1069: Property 0 not found on com.orbclasses.TestArray and there is no default value.
is it possible to create a new reference to an array by using it's varname ?
e.g.
private var _myArray:Array = new Array("a","m","d");
...
function getReference(_varName:String):void
{
[Code]....
I realize this is very basic but i need a quick way of referencing all my objects in an array,I have a series of movieclips with instance names "block1" "block2"... etc.
I there a quick way to reference these in an array something like "block"+1 ?
I've created two custom classes to contain data for a web forum controller flash tool:
class postClass
{
public var post_id:Number;
//plus some other variables like timestamp etc
[code]....
When I try to assign a new post to a user (by adding the post data to the postArray variable) I overwrite posts that I had already placed under other users. More specifically, if I'm posting the first post for User Y, I overwrite the first post for User X with the exact same data.I thought this was a reference vs. value passing error, but I tried to eliminate this by not copying the "postClass" objects, but assigning the data directly into the user's postArray array:
var userArray:Array = new Array();
function addNewUser(masterPostIndex,UserNumber)
{
[code]....
This all seems to work fine until I try to write a new post for a second or third user. If I trace the contents of User X's posts, they immediately become identical to the content of User Y's posts, as soon as User Y's posts are added. Later, when User Z comes along, both User X and User Y's posts are overwritten. This code is kinda long, so I didn't want to post the whole thing - but I can post any parts you're interested in, of course.
This really 'feels' like a reference-passing error (arrays are all looking at the same location in memory), but I can't figure out what I'm doing wrong - I'm not making a postClass object and then pushing it onto the user's postArray (I tried that too, same result).
var newPost:postClass = new postClass();
//read and assign values to newPost
userArray[userIndex].push(newPost); //
this is clearly passing the referenceI can see how the latter example would pass the reference to newPost to the user object, then when I change newPost in the next iteration (when user Y posts something), User X's data will change too. I tried to avoid this with the first set of code.
If n=1,b1.gotoAndStop(2); is to happen.n=2,b2.gotoAndStop(2); is to happen.But i don't want to put conditions like this.I want to putting something like this:b[n].gotoAndStop(2); or something.Is it possible.Is there any other alternate logic.
View 2 RepliesI have an array for my navigation bar (btn1, btn2, btn3 etc) where when the user clicks on a button, it goes to the correct page, and all is good. Now, I when the user clicks on a page, I want it to play a funtion where the button (movieclip) goes to frame2, and the button is disabled. How do I say 'if user clicks btn1, and is on page1, now disable btn1'. My code is below:
PHP Code:
myArray = ["btn1", "btn2", "btn3", "btn4", "btn5"];
for (i=0; i<myArray.length; i++) {
_root[myArray[i]].onRelease = function() {
[code]....
Ive got two classes and my stage. I'm trying to use an array to keep control of my enemy class's number for collision purposes and I managed to get the enemies to populate the array.
View 3 RepliesI created an Array of lrgIcons that contains several MovieClips, they are then positioned within a second MC and pushed to a second array of lrgIconsOnStage, they are enabled as buttons and assigned an event listener (all of this works fine). Problem is, I want to know which lrgIcon is selected and react to it with an if statement. When I trace the array of lrgIconsOnStage I get [object amazonLrgIcon],[object emailLrgIcon],[object gmailLrgIcon],[object messagesLrgIcon],[object missedCallsLrgIcon] and when I trace e.target I get [object amazonLrgIcon] (depending on which item I selected, which in my mind, should trigger the code correctly, but it does nothing, Why?
Code:
var currButton:String;
var lrgIcons:Array = new Array(amazonLrgIcon,emailLrgIcon,gmailLrgIcon,messagesLrgIcon,missedCallsLrgIcon);
var lrgIconsOnStage:Array = new Array();
var lrgIconPosY:int = 69;
var lrgIcon:MovieClip;
[Code] .....
In AS2 I have several arrays constructed like this :
var myArray0:Array=new Array(value,value,value...)
var myArray1:Array=new Array(value,value,value...)
var myArray2:Array=new Array(value,value,value...)
var myArray4:Array=new Array(value,value,value...)
...
What I'm trying to do is use iteration to reference each array name to pass it into a function.
Like :
function doSomethingWithArray(arrayToPass){
...
}
//Later somewhere in For loop... :
_root["myButton"+i].onRelease=function(){
doSomethingWithArray(WHAT-THE-HELL-I-TYPE-HERE[i])
}
I have a class file that creates an array of image paths from an xml file. i need to know how to from the main stage refrance to get that array.
View 2 RepliesIt took me hours to figure our why this was returning the wrong value - when assigning one array to another it passes by reference not Value. I need a way to force it to pass by values. e.g. copy the existing array and have the second array reference it, so i am free to modify the first array without changing the values of the second.[code]From the example above You see that in Actionscript when assigning one variable to another it does it my reference not value. So when you chage the value of one array it changes the value of the other automatically.I need to have the "test2" variable reference the "test1" array only by value so if modify "test1" the values of "test2" won't be modified.
View 7 RepliesIn the code below, i create an object and stick it in an array, then I make a duplicate of that array. I loop though the duplicate and change the value of one of the props of the object in the duplicated array. Doing this however unintentionally changes the prop value of an object in the original array. I'm assuming that the objects in the duplicated array are mere references to the objects in the original array. Is this correct? And if so, how do i make unique copies of those objects in the original array, so that changes made to the objects in the new, duplicated array are exclusive to those objects?
I know that i could probably make a new object when duplicating the array, and then recreate each prop, assigning values from the original objects.. but this is a simplified example. The project im working on has many props for each object, so, id rather just make copies if at all possible.
Code:
var testObj:Object = new Object();
testObj.prop1 = "hello";
//
var testArr:Array = new Array();
[code].....
this array prototype manage to remove Strings and Integers but not movieclip references.
PHP Code:
Array.prototype.removeArrayItem[code].....