ActionScript 2.0 :: Array Length When Index Is String-based?
Jan 31, 2008just a simple example:
var a = new Array()
a["apple"] = "red"
a["orange"] = "orange"
a["banana"] = "yellow"
trace(a.length) //returns 0
get it work?
just a simple example:
var a = new Array()
a["apple"] = "red"
a["orange"] = "orange"
a["banana"] = "yellow"
trace(a.length) //returns 0
get it work?
So, for sending to individual streams we have to reference the connected netStream we want to send to in some way like this:
sendStream.peerStreams[0].send("MyFunction",param1,param2);
and I have to determine which peer I'm sending to by their ID such as "peerID1234"
I know that you can check the peerID of the stream by doing:
sendStream.peerStreams[0]["farID"]
how can I make my send stream function know to use the array index where the peerID is?
so basically it could be like:
sendStream.peerStreams[where peerStreams[]["farID"] == peerID].send("MyFunction",param1,param2);
I can obtain the number of characters in a string using the 'length' action script command. However, I need to know the pixel width of this 'length'?
View 1 RepliesI am looking at "length" property in the Adobe AS3.0 language ref as I do not understand it. It says: An integer specifying the number of characters in the specified String object. (I understand this). Because all string indexes are zero-based, the index of the last character for any string x is x. length - 1. (I do not understand the "- 1". I understand that all string indexes are zero-based but I cant put this together with the last character for any string being -1 or whatever it is saying.
View 7 RepliesOkay what I after is how to detect the length of the string populated from array...then auto rescale the height of the title_mc as shown in my AS as well as the dynamic created textfield ..so the textfield will display long string + "newline" for long string...(autowrapper)..
[Code]...
Does anyone know how to sort an array based on the length of the instance name?
I have an array full of instance names and they are different lengths. I need them to sort based on the number of chars.
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].....
What im looking to do is dynamically create TextFields based on my array.length. So if I have 3 strings in my array then 3 TextFields with the array text needs to be created.
I've managed to actually create TextFields based on the array.length - however afterwards I dont know how to reference them individually, to lets say re-position x, y for array[1]. I've tried saving the Textfields in another array by .push method, but can't seem to reference them correctly.
//Create textfields based on data in Array - in this case 3 textfields
var textArray:Array = new Array('First TextField','TextField Two','Anything, really');
//Array to .push "save" created textfields
[Code]....
How to make a kind of array that index things based on a object? but not being strict like dictionary.
What I mean:
var a:Object = {a:3};
var b:Object = {a:3};
var dict:Dictionary = new Dictionary();
dict[a] = 'value for a';
// now I want to get the value for the last assignment
var value = dict[b];
// value doesn't exits :s
How to make something like that. To not be to heavy as a lot of data will be flowing there. I have an idea to use the toString() method but I would have to make custom classes.. I would like something fast..
I have a string whose length may vary but will always be divisible by 3 and want to push every three characters to an array.
e.g.
var myString = "000111000111";
//magic code converts
[code]......
I have an array with names. All I need is to add new names, but in the beggining of the array instead in the end. How do i do that?
View 1 RepliesI am trying to assign a number to a variable that is dynically generated from a binded array...when i try and assign it and trace it out nothing happens, which means I am obviously doing something wrong but I am not sure? just for fun i decided to bind the data to a label like so...
[Code]...
I think it would be simplest to explain it like this:
[Code]...
I have an array, which are the literal names of class references. Eg. in my main class I have
var page1:PageOne = new PageOne();
var page2:PageTwo = new PageTwo();
var page3:PageThree = new PageThree();
[code].....
Let's say I have array foo and a positive integer y, where foo.length > y.I want to remove elements from foo so that foo.length becomes y (or very close to it).Also, I need to preserve the first and last element of foo. The indices of the removed elements must be spaced apart as equally as possible. Foo can be sliced, or it can be used to create a new array.
Example: if foo = [a,b,c,d,e,f,g,1,2,3,4,5] and y = 6, then trimmedfoo could be [a,c,e,g,2,4,5] or maybe [a,c,e,2,4,5], but not [a,c,e,g,2,4] because the last element of foo is missing.
I am trying to get the length of arrays within an array, here is my example (MX 2004):
[Code]...
I get an output of of 3. the number of variables within the first array, this is not what I had expedted.
On my project, I have a dynamic textfield inside a movieclip. The textfield loads XML text. How can I set the dynamic textfield length(width) based on how much text is typed on the xml file?
View 3 Repliescalculate textarea height based on the text length and fontsize in as2?
View 4 RepliesI'm using the .unshift method therefore the newest values go into [0] and the rest are pushed down.
What is a good method to remove a value from an array once it has passed a certain length? For example i only want my array to hold 5 values.
Also, is there a method for clearing the entire array, ie removing all values? Or will i have to manually change all the values with a loop?
how to get the X and Y coordinates of a character in a string based on index? I find it odd that I can get the exact letter and index by clicking a character in a text field, but I haven't found anything in code that can get those coordinates without a user click. Seems like they would have to know the x,y of the individual indexs to be able to tell you what letter you're clicking based on your own mouse coordinates.
View 3 RepliesI am trying to find out what the max length is for a string because since as3 doesnt provide any methods for removing characters from a string by changing the initial string itself, i am going to have to stick to re-initializing.I did a little test to see how long it would take for my program to break using the following code:
Actionscript Code:
+[code]..............
The program crashed at a string length of about 500 million.
EDIT:however before it crashed,it performed the incrementations with reasonable performance.
EDIT EDIT: which is strange since my ram still had over 2 gig the program didnt use
im trying to use array.length to get the total indexs of the array, before running a loop on all of thoes indexs when i attempt to do this(i added a few extra things for the sake of debugging and understanding)
ActionScript Code:
var selectcharacternames:URLVariables = new URLVariables(evt.target.data);
trace(selectcharacternames)[code]....
does array.length not work with url variables is it possible to turn url variables into a array(im assuming it is not a array as a reason why this doesnt work)
I am working on the following code and I keep getting a cut off at around the 'C' of Dave's computer.I know this is going to be a simple answer but I for the life of me cannot figure out HOW to extend the string visual field. I am pretty sure the secret lies in the variable len.
Code:
import flash.text.TextField;
import flash.events.Event;
var txtFld:TextField = new TextField();
[code]....
Is there an easy way to get the byte length of a string in AS3? String.length works in many cases, but breaks if it encounters mulibyte unicode characters.(in this particular case, I need to know this so I can preface messages sent across a TCP socket with the message length. This is in standard netstring format e.g. "length:message,").
View 1 RepliesI'm populating a dropDownList with arrayCollection of strings. I want the width of the drop down list control to match with the size (in pixels) of the longest string in the array collection. The problem I'm facing is: the font width of the strings in the collection are different e.g. 'W' looks wider than 'l'. So I estimated the width of a character to be 8 pixels but that's not pretty neat. If a string that has many 'W' and 'M' is encountered the estimation is wrong. So I want precise pixel width of strings. How can i get the exact length of a string in pixels??
My solution that estimates all character to be 8 pixels wide is given below:
public function populateDropDownList():void{
var array:Array = new Array("o","two","three four five six seven eight wwww");
var sampleArrayCollection:ArrayCollection = new ArrayCollection(array);
[Code].....
Is there an actionscript function I can use to pad a string to a certain length with a certain character?
Example: I have a number lets say 274 and I want to make sure that number is at least 6 characters long...with any open space receiving the character 'W'. So I'd call the pad function and my final number would look like this: WWW274
I have used a method to shuffle a part of a Array, but i noticed that it does not work very well.When i run this method I sometimes get empty array values.So if you would try the example below and test it out some times you would get a right result but sometimes a wrong result.For example when i run this i get in my trace output:
a,b,c,d,g,,e,f (here after the g it goes wrong)
a,b,c,f,g,d,e (here it goes right)
a,b,c,d,,g,f,e (here it goes wrong)[code]...
I'm writing a game with Flash CS5/AS 3.0 that tries to simulate depth of field by drawing all the relevant Movie Clips based on their Y position in ascending order, i.e. things lower on the stage overlap things higher on the stage. A MovieClip with a Y position of 10 would therefore need to have a lower index compared to a MovieClip with a Y position of 20, so the second one gets drawn on top of the first.
I wrote a quick and dirty function just to test this. During the trace, I've noticed that the truck's index hits 0 when I go near the top of the stage, but if I go too far up it will completely disappear from the stage. Trace then starts generating this error:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/getChildIndex()
at EICT::Game/ReorganizeDisplayIndexes()
[Code].....
I have 2 arrays:
Array 1 = [1,3,5,7,9,10];
Array 2 = [5,7,10];
Now, I wanted to create a new Array the is the same as the length of Array 1. The output should look like this:
New Array = [0,0,5,7,0,10];
I have a string provided to my flash file that I need to break into a max of 3 sentences(strings).
I have written some actionscript to break it up by set lengths, but I also need it to not break words up.
To test you can place the following code in a blank as2 file.
Code:
var personalMessage:String = "You got this far so we reckon that you could be curious enough to learn a little more, we�ll contact you shortly to answer any questions you may have.";
_root.myArray = new Array();
_root.myArray = personalMessage.split("");
[Code].....