ActionScript 3.0 :: Speed Test For Looping Through Array
Dec 23, 2009
On the PHP site it was advised to do for loops in a certain way that I have not seen on any recommendations for AS3. I think I found about a 10 times speed increase and I thought I better check that I was not missing something (?) before going through my code and changing it. Very simple and fairly self explanatory (in the faster one the array.length is not calculated every time I think):
Code:
import flash.utils.getTimer;
var time:Number;
var myarray:Array = new Array();
myarray.length=2000000;
time=getTimer();
[Code] .....
I need to create a internet speed test application in Actionscript 3.0, like Speed Test. I need to calculate: 1. Download speed 2. Upload speed 3. Latency (Round Trip Time) 4. Jitter 5. Packet loss 6. Network availability
I am developing an application which is similar to[URL].. I need your advice on how to achive the ping and download and upload speeds. I have experience in as3, but very new to this kind of applications. can you please give your thoughts on how this application is developed.
I assume the application needs to download a file, based on the data loaded in that specific time we calculate the download speed. i am not sure about the upload and the ping.
I'm not sure when it started happening, but I believe after the update my movie keeps looping if I test the movie. This never happened before. I'm not sure what went wrong? I never changed my action script or anything. What can be my problem?
I need to test the upload speed of the client machine in AS 3.0. So I thought to upload an image that embed to swf, to server without user interaction.
I have a little utility takes lists of letters, combines them in every possible permutations, and lists out all the combinations that are words. For example, I would feed it in "cde,abc,tbrn" and it would let me know that cat, cab, car, can, dab, eat, ear, and ebb are all valid words.I've tried two different approaches: Load a dictionary text file, and splice it into dict:Array. For each possible letter combination run:
if(dict.indexOf(testWord)!=-1) trace(testWord); The other option is to convert dict:Array into an dictionary:Object for (i=0; i<dict.length; i++){dictionary[(dict[i])] = dict[i];}
and then run: if(dictionary[testWord]) trace(testWord);
Although I've read arrays are faster than objects, testing to see if the word exists in an object, and iterating 10s to 100s of times over a several thousand word dictionary is orders of magnitude faster than checking to see if the word exists in the dict:Array.
I have probably posted this a few times now. I am using the tutorial at www dot flashgametuts dot com/tutorials/as3/how-to-create-a-platform-game-in-as3-part-7/ and I would really like to know how to have a sound play when the character collects a coin. This is a tile-based game where the "coin" objects are represented by the number "7" in an array, which is the level map.
Why doesn't AS2 interpret these variable as it steps through? Everything works if I write it out longhand and do not use a loop, but if I try to condense things by using an array, variables such as _root.myTargets[i]._x are not interpreted properly.
Code:
myTargets = new Array('shoot','shoot2'); for (var i:Number=0; i<myTargets.length; i++) { if ((_root._xmouse > (_root.myTargets[i]._x - 30)) and (_root._xmouse < (_root.myTargets[i]._x + 50)) and
I have an XML document that loading into Flash. I have a dynamic text box on the stage that I am writing the XML to. My problem is, I have 6 group names that I am pulling from my XML file and I want to write each one of them to the text box and add a line break to the end. This is my code:
var group= this.firstChild.firstChild.childNodes; for (var i=2; i<group.length; i++){ divBox['divInfoLinks'].htmlText =
[Code].....
When I trace [i] it lists all 6 names, however my text box only shows the last name in the array.
I have a rock movieclip that is in an array and a timed function that places an instance of the rock on the stage every 5 seconds. So every 5 seconds a rock is placed onto the stage. What I want is when a rock is placed onto the stage it rotates either clockwise or anticlockwise. So every 5 seconds a rock appears and it will rotate either clockwise or anitclockwise. I also want the rocks to rotate at a random speed. So every time a rock appears its rotation speed will be different. I also need the rocks to move in a random direction. So every time a rock appears it will travel in a different direction to the previous rock.
i have an array that i basically load from a csv file. i have a function below that test every number for the value if is a number.[code]the problem im having is that when it reads the array is reading ",15" instead off "15" how do i remove a character from an array ? i dont want to remove the whole element just a character.
I am attempting to build an array of arrays that will with the following syntax. My output is definitely not what I am trying to achieve. Here is my code:
[Code]...
My output is coming out as 6 references to "Set3". There is obviously something wrong with my for loops, but I can't figure it out.
I tried implementing a Counter and every time flash goes to another variable in array, i would increment that Counter and i would see if Counter == Array.length.[code]...
I am trying to download 3 files from a website by defining an array and looping through the urlloader commands I am using urlloader so that the user doesn't have to confirm each download, my code is:
I have two arrays. One is used for button names and the other is used for the links for the buttons. The buttons are generated dynamically with attachMovie and the names are also modified via AS. My problem comes in at looping through the links array and applying them to the buttons.[code]
I'm looping through an array and checking the elements to see if an element contains this text. the array is as following
[Code]...
i've narrowed down the problem to being the variable 'current'. If I replace the dynamic part to the string '_A_1' it works. That is why I entered the trace just above to see what its is checking against. I can see that they are both the same, but flash thinks otherwise.
I've got no idea how to phrase this, but is there a simple/efficient way to do something like this that doesn't feel hacky:?
[Code]...
I realize I can just trade the index number in the brackets for a function that returns the corrected index (after it works through the end of beginning of the loop as needed), but what's the best or most efficient way to do this? The damn 0 as the first position in an array really confuses me sometimes when trying to work these things out.
I have three randomly moving movie clips and one keyboard controlled movie clip which is meant to avoid the tree random flying clips.
I want to do a hit test that basically will do something if anyone of the 3 random clips hit the keyboard controlled clip.
in the hit test i want to be able to have this work for any of the three random clips (flying pumpkins with different instance names, pumpkin1 pumpkin2 pumpkin3). This is all done on an external document class.
I thought about an array but I have no idea really
Well I know I should probably know this, but I don't I need to know is there some kind of isIn for an array. To test if an item is an element in an array. I just cant remeber what it is.
I am trying to loop my function through my array values continuously. I'm only able to get it to loop through one array value as intended. The long term goal here is the create a grid of movie clips that continuously change colors in random order (from preselected values). I'm new to actionscript and I have been racking my brain trying to figure this out. I'm unsure of how to send the function to all items in the array, and loop them all continuously, yet with random color patterns for each.
I would like to repeat a block of code within a function in Flex, which is the best way to do this, I would like to do this without making a new function?
The code currently is:
Code: for each (var rawPhoto:Object in event.data) { logger.info("Photos.getPhotos: Photo[{0}] downloaded", rawPhoto.pid);
Hey guys, thanks in advance for any help, I'd be stuck all the time without these forums.
I have a custom class(Ball) and a .FLA. Ignore the custom class, it works fine, having a problem within my main FLA.
I'm getting repeated "Error #1009: Cannot access a property or method of a null object reference. at Environment_fla::MainTimeline/hitTest()".
I understand that this error means I'm asking it to reference something that's no longer there. I just can't figure out why I'm getting it, and how better to hitTest many objects in an array.
My game involves creating a bunch of balls that will fall into buckets. I need to keep track of how many touched the buckets, how many fell off the screen, and remove each accordingly.
Thanks again, very much appreciated.
Here is the code from my main FLA
[as]var ballTimer:Timer = new Timer(200); var changeTimer:Timer = new Timer(50000);
//Environment variables var gravity:int = 1.5; var friction:Number = .85; var color:int = 2;
//score variables var YellowScore:int = 0; var BlackScore:int = 0;
var tBall:Ball = new Ball(new Point(mouseX, mouseY), new Point(Math.random() + Math.random()*5 + Math.random()*8), gravity, friction); var ballArray:Array = new Array();
function throwBall(e:TimerEvent):void {
var tBall:Ball = new Ball(new Point(mouseX, mouseY), new Point(Math.random() + Math.random()*5 + Math.random()*8), gravity, friction);
Here is my xml structure: <question> <q1> Who coined the term "Clinical Psychology"? </q1> <answer> Lightner Witmer </answer> <option1> Stanley Hall </option1> <option2> Lightner Witmer </option2> <option3> Henry P. David </option3> </question>
I can loop through fine and pick out the questions and answers, then throw them into separate arrays. The problem I'm having is looping and pulling the options into a multidimensional array like such: var one:Array = new Array( 3 ); one[0] = ["Stanley Hall", "Lightner Witmer", "Henry P. David"]; one[1] = ["Stanley Hall", "Lightner Witmer", "Henry P. David"]; one[2] = ["Stanley Hall", "Lightner Witmer", "Henry P. David"];