AS3 :: Flash - Extending Array Access Operators To 'wrap' Out-of-bound Index Values?
Jan 17, 2010
I'd really like to be able to make Flash's array access syntax 'wrap' over the array's bounds.
Lengthy explanation -
var array:Array = ['a','b','c','d','e','f'];
To keep things simple, the first index is 0, and its value is the first letter, 'a'. To get that value, we'd do this -
array[0]; // returns 'a'
As long as the index you're using to access the array is between 0 and array.length (6 in our example,) everything works fine - but if you use an index outside of those bounds, you're shut down.
array[-3];
array[9]; // both return 'undefined'
Sometimes that's a good thing - sometimes you expect that to happen, and you're fine with it. Other times, you find yourself wishing (or at least I find myself wishing) that it'd behave a bit more like this -
array[-3];
array[9]; // both return 'd'
(e.g. a photo gallery that jumps back to the beginning when you click 'next' on the last photo)There's a little chunk of code I use over and over for this sort of thing, but it's always to alter the index before passing it into the array:
var index = -3;
while(index < 0){index += array.length}
array[index % array.length]; // returns 'd'
... and that's fine, but what I really want to do is extend the Array object itself so that it'll automatically 'wrap' index values that go out of bounds.TL;DR - Is index-wrapping possible by extending Flash AS3's Array object?
View 2 Replies
Similar Posts:
Jan 14, 2010
I have an indexed array full of strings.
PHP Code:
my_array = new Array("hello", "dear", "goodbye", "cruel", "world", "never", "noticed");
I'm generating an integer elsewhere in my code which I want to use to lookup the appropriate index in my_array.However, the number I'm passing to the [] access operator could be positive or negative, and it could be more or less than my_array.lengthFor Example:
PHP Code:
my_array[lookUpIndex]
my_arra
[code]....
View 21 Replies
Feb 2, 2011
Say I had this array[code]...
This adds five new instances of the Thing class through the main timeline. In the Actionscript code for the Thing class I want to be able to reference the index of the given instance for identification purposes.
View 6 Replies
Jan 9, 2012
I have an array that has its values dynamically changed as a user interacts with buttons. I need to constantly check 6 index values from this array against each other so that if they are the same value they count as 1 but if they are unique they also count as 1.
E.g. IF all 6 index points = "A" I get 1 returned
If 3 of the index points = "A"
2 index points = "B"
1 index point = "C"
I get 3 returned to me
So I'm looking for a way to get a number returned to me ranging from 1-6 depending on the values.
View 10 Replies
May 30, 2011
I do have a xml and i am having that content in an array using xpath. It was working fine. But in the rare case, i am loosing the content from last 7 or 6 or 5 or 4 or 3 or 2 or 1 index values. I couldn't able to find what exactly the problem was. once again if i replace the original xml and when i open it, it was fine.
View 5 Replies
Aug 16, 2011
I think it would be simplest to explain it like this:
[Code]...
View 1 Replies
Jun 22, 2011
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);
View 1 Replies
Feb 20, 2011
I have a datagrid with an xmlListCollection bound to it:
<mx:DataGrid id="dgCompetente" includeIn="Competente" x="10" y="66" width="547" height="468"
change="dgCompetente_changeHandler(event)" dataProvider="{colCompetente}"
editable="false">
[Code]......
I want the selectedIndex to remain the same. So, if I delete item 2, the next in the list should be selected. The problem is that if I delete item 2, item 3 will be selected and I have no idea why.
View 1 Replies
Oct 27, 2011
I'm attaching an array of objects to the stage, each with a x and y values from an external xml. I have 2 values for the y property.
So when I attach the objects to the stage y property takes the first y values. When I want to change the y value to the send y value I am only accessing the last value in the list.[code]...
View 1 Replies
Oct 19, 2011
I am kinda new to as3 and I have seen [] the square brackets used when trying to access array index but I have also seen some people use it in other places. I was just wondering what its exact function was.
View 1 Replies
May 21, 2011
When you do, you'll see that the movieclip should obviously be at position (0, 0) on the stage. However it appears at (25, 5)! if I leave in the original "this.x = xx;", then it appears at (50, 5). If I also leave in "this.y=yy;" then it appears at (50, 10).
[Code]...
View 2 Replies
May 22, 2011
I would love if someone could take a look at the code below. When you do, you'll see that the movieclip should obviously be at position (0, 0) on the stage. However it appears at (25, 5)! if I leave in the original "this.x = xx;", then it appears at (50, 5). If I also leave in "this.y=yy;" then it appears at (50, 10).
[Code]...
View 2 Replies
Mar 26, 2009
How do I remove an items from a data bound array? My code follows.
for(var i = 0; i < listBox.selectedIndices.length; i++) {
var toRemove = listFiles.selectedIndices[i];
dataArray.splice(toRemove, 1);
Here is my swf. The Add Photos works except when you remove items. [URL]
Add 3 photos different.
Remove 2nd photo.
Add a different photo.
SWF adds the 2nd photo to the end.
Here is my code
private function OnSelectFileRefList(e:Event):void {
Alert.show('addstart:' + arrayQueue.length);
for each (var f:FileReference in fileRefList.fileList) {
var lid:ListItemData = new ListItemData();
lid.fileRef = f;
arrayQueue[arrayQueue.length]=lid;
[Code] .....
View 5 Replies
Jun 17, 2005
Have a quick question, have a xml file like that:
[Code]....
I'm using the xml connector to retrieve the results then bound the items array to the dataprovider No problem to access the items but my question is how to access to var1 and var2 in actionscript. Could i bound it to a var?
View 1 Replies
Oct 20, 2011
anyone knows how to pass an array values from an HTML into flash? Well, to begin I'll discuss what am I doing. I edited a twitter widget javascript which search tweets based on the hashtag I needed then passing it on an array per tweet and then displaying it using a <div> it updates once every 5 minutes. Now I want to display those tweets on a dynamic text on Flash. Let's say I will have 5 dynamic text placed on my flash file then; I want each of those dynamic text to have the tweets I have based on on my HTML arrays to be displayed in random.
View 2 Replies
Apr 6, 2009
I am currently making a class called TiltVideo that extends BasicView (papervision3d).
BasicView has a getter function that returns a camera that I need to access.
View 3 Replies
Feb 19, 2009
I need to load anywhere from 100 - 100,000 lines of data. Currently I am reading the data letter by letter which is taking Flash a god awful long time to load it.
Code:
///looop length of file
for (h=0; h<GWords.length; h++) {
///Slice each part of the Gcode
curr_word = GWords.slice(h, Number(h+1));
[Code]....
Example of how I bring it into the datagrid:
Code:
file_parsed.addItem({G:G_Value, F:F_Value, Y:Y_Value, X:X_Value, C:Comment_value});
The file is vector values that I take and draw it out after it is loaded.
Is there a better way to grab the a value between Letters to make things happen quicker?
View 9 Replies
Feb 23, 2011
how do you find an object's index / position within an array in flash actionscript 3? I am trying to set a conditional up in a loop where, if an object's id is equal to the current_item variable, I can return its position within the array.
View 1 Replies
Dec 30, 2011
[Code]...
Say that ArrayVar is equal to 3 at the time funct1 is triggered. in funct1 i want the variable curIndex to be set as 3.
View 3 Replies
Sep 7, 2010
Is there anyway where I can pass the Array values (not the array collection values) to the Bar charts or column charts using flex 3.5...
here is the thing i want:::
I have array values like this,,
array1 = [23, 49, 40, 239, 20, 80, 39,49,120, 24, 31,41];
and i want to show these values on the Yaxis and months on Xaxis....
I have two Qns,
1) how can I pass this array to Bar chart or column chart.
2) how do I need to show months on Xaxis. beacuse I'm asking this regarding, I have kept a filters that even if we want to see some months or a particular months or perticalar span of months... there on Xaxis it need to change the months dynamically depending on the filters..... (for ex, on Xaxis the values should be (Jan, Apr, Jun,Oct) if i select the 3 months period filter....)
I have written a logic to collect the values of those particular months into an array, but not understading how to pass this array to Bar chart,, beacuse there I don't know what Xfield and Yfield to be given....
View 1 Replies
Jul 3, 2009
i have a simple navigation system with three buttons, each button have a text field in it. On mouse over they change color to blue. I can achieve all these without a single line of code. I simply make a button of my text field in flash, and change the color of the text in the timeline.
My problem occurs when i want to make the color to stay blue when i click on the button. Apparently you can't access the child within a button, in my case a dynamic text field. I've googled this problem and they all say that you should use a MC instead of a button. Thats exactly what i have done so far. But i'm getting tired of writing a bunch of eventlisteners and put an extra layer with an invisible button in my button mc so i can get the hand cursor (because the .buttonMode = true and useHandCursor doesn't work when there is text field inside the mc). Any way, shouldn't there be a more elegant way to solve this problem?
I've been trying to build a new base class for my button that extends SimpleButton, and from there access the embedded child object, but the problem remains.
In this example i'm trying to simply change the text of the text field inside of my new MyButton instance. But i get the same old Error #1009: Cannot access a property or method of a null object reference.
package
{
import...
public class Mybutton extends SimpleButton
[Code].....
View 6 Replies
Feb 22, 2012
How do I find an object's index in an array
I have an array of objects similar to[code]...
After chatting with my coworkers, they have suggested I enumerate this into a large array of indexed values with references to which index they are associated with, for instance [code]...
View 2 Replies
Jan 9, 2012
Let's say I have a defined ClassA. ClassB extends ClassA and there's a Movie Clip instance on the stage linked to ClassB. How would ClassC access the properties and methods of ClassB without extending ClassB or creating a new instance of ClassB? The way I'm currently doing it is by referencing the stage instance linked to ClassB and then using the dot syntax to access ClassB instance variables, and this works only if the the accessed variables are public or internal, depending on what package ClassC is part of. I would like to know if there's a better, cleaner way to accomplish this.
[Code]....
View 2 Replies
Mar 24, 2011
I have a flash project (.fla file) that includes an external actionscript package. Inside the package I am trying to reference buttons and movie clips that are in the main timeline, but it keeps throwing reference errors. [code]...
View 2 Replies
Feb 15, 2011
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]...
View 8 Replies
Dec 26, 2009
I'm trying to do just that. This is my class:[code]IIt seems the problem pops up every once in a while and never gets solved.
View 14 Replies
Dec 23, 2010
I have created a dynamic TextArea and want retrieve the value and display in the trace.To run the code below you must drag the TextArea component into the stage.
import fl.controls.TextArea;
var totalTextArea=5;
//Create multiple textarea
for(var a:int = 0; a<totalTextArea; a++){
[code]....
View 1 Replies
Dec 13, 2011
I am adding movieclips (myBall) to the stage by the click of a button. There is a base class applied to myBall which allows it (and its children) to be dragged and dropped. Within the base class on mouse down, along with startDrag, the movieclip is being brought to the top index. I would like to be able to refer to this movieclip in my document class. The point of doing this would be to apply a function to the last clicked movieclip (finding what movieclip was last clicked would happen by applying the function to the movieclip (myBall) with the highest index).[code]...
View 7 Replies
Nov 13, 2010
How do I initialize a vector with an array of values? I tried this and it complies fine, but does not work!
[Code]...
View 3 Replies
Mar 24, 2012
I have an array that has a lot of values including a lot of 'false' values.Is there any way of removing the 'false' values that is faster than this[code]...
View 1 Replies