Re: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters
Hello :) Yes it's funny .. i forget the 0 is a boolean in a conditional instruction... the problem with this loop is the negative values. but it's a good notation. After tests... in AS2 this method is more speed. var ar:Array = new Array(50) ; var time ; Key.addListener(this) ; onKeyDown = function() { var result ; var code:Number = Key.getCode() ; var copy:Array = [].concat(ar) var len:Number = copy.length ; switch (code) { case Key.UP : { time = getTimer() ; for( var i:Number = 0 ; i -1 ) { result = copy[len] ; } time = getTimer() - time ; trace( "while(--len > -1) speed : " + time + " ms") ; break ; } case Key.RIGHT : { time = getTimer() ; while( --len -(-1) ) { result = copy[len] ; } time = getTimer() - time ; trace( "while(--len -(-1)) speed : " + time + " ms") ; break ; } } } for speed : 329 ms while(len--) speed : 305 ms while(--len > -1) speed : 324 ms while(--len -(-1)) speed : 418 ms Thanks :) EKA+ :) 2007/5/11, Steven Sacks <[EMAIL PROTECTED]>: I think he was pointing out how the loop could be optimized even further. Pre-decrementing is faster than post-decrementing. However, his greater than comparison slows it down. The right way to do it is: while (--i -(-1)) { } since subtraction is faster than addition. This is all academic, though. I used to use --i -(-1) but I gave it up for the readability of while (i--). This is my new favorite: while (i--) i++; ;) ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters
I think he was pointing out how the loop could be optimized even further. Pre-decrementing is faster than post-decrementing. However, his greater than comparison slows it down. The right way to do it is: while (--i -(-1)) { } since subtraction is faster than addition. This is all academic, though. I used to use --i -(-1) but I gave it up for the readability of while (i--). This is my new favorite: while (i--) i++; ;) ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters
i-- will eventually become 0 which (in AS2) is evaluated to false. so while(i--) works fine. regards, Muzak - Original Message - From: "eka" <[EMAIL PROTECTED]> To: Sent: Friday, May 11, 2007 6:33 PM Subject: Re: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters > Hello :) > > you don't limit your while loop instruction ? > > while ( --i > -1) > { > > } > > EKA+ :) > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters
Thanks Karina this is the sort of thing I was looking for, as you say it may be clearer to code this fn the way I initially said but I was interested in how to code this another way so thanks for helping me. One tiny typo, before someone else does- for (var i = 1; i Thanks again :) Ben, thanks for your help too, I hadn't thought of only using the square brackets to make the code more efficient. Ali On 11 May 2007, at 15:32, Karina Steffens wrote: The parameters received by a function are automatically stored in a built-in array called "arguments". So you can do something like this: public static function center(obj1:Object) { var targetX:Number = ob1._x; var targetY:Number = ob1._y; for (var i = 1; ivar targetX:Number = arguments[0]._x; - but there's no reason to do so in your code, and this way the method is a bit more clear. The only caveat is that, depending on the rest of your code, if you have to pass an unknown number of movie clips, there's a chance your original function might actually make more sense... Cheers, Karina -Original Message- From: Alistair Colling [mailto:[EMAIL PROTECTED] Sent: 11 May 2007 12:41 To: flashcoders@chattyfig.figleaf.com Subject: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters Hi there, just a quick syntax question, I want to receive a function that will centre the position of all objects passed to that of the first object passed but the number of objects passed may vary. This is the syntax I am currently using, is this the best way to do it? Thanks for any comments in advance :) Ali //ob1 is the object that the objects in the array centre themselves to public static function center(ob1:Object, ob_ar:Array) { var targetX:Number = ob1._x; var targetY:Number = ob1._y; for (var i = 0; ihttp://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
RE: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters
The parameters received by a function are automatically stored in a built-in array called "arguments". So you can do something like this: public static function center(obj1:Object) { var targetX:Number = ob1._x; var targetY:Number = ob1._y; for (var i = 1; i -Original Message- > From: Alistair Colling [mailto:[EMAIL PROTECTED] > Sent: 11 May 2007 12:41 > To: flashcoders@chattyfig.figleaf.com > Subject: [Flashcoders] Quick syntax q: how to write a > function that canreceive an undefined number of parameters > > Hi there, just a quick syntax question, I want to receive a > function that will centre the position of all objects passed > to that of the first object passed but the number of objects > passed may vary. This is the syntax I am currently using, is > this the best way to do it? > Thanks for any comments in advance :) > Ali > > //ob1 is the object that the objects in the array centre > themselves to public static function center(ob1:Object, ob_ar:Array) { > var targetX:Number = ob1._x; > var targetY:Number = ob1._y; > for (var i = 0; i ob_ar[i]._x = targetX+(ob1._width/2); > ob_ar[i]._y = targetY+(ob1._width/2); > } > } > > center(myMC, [myMC2, myMC3, myMC4]); > > > > ___ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com http://training.figleaf.com > ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
RE: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters
I think your code won't center correctly does it? Don't know if [] syntax is slower than creating a local var fisrt, but just in case added it. function center(ob1:MovieClip, ob_ar:Array) { var x:Number = ob1._x - (ob1._width/2); var y:Number = ob1._y; for (var i = 0; imailto:[EMAIL PROTECTED] On Behalf Of Alistair Colling Sent: vrijdag 11 mei 2007 13:41 To: flashcoders@chattyfig.figleaf.com Subject: [Flashcoders] Quick syntax q: how to write a function that canreceive an undefined number of parameters Hi there, just a quick syntax question, I want to receive a function that will centre the position of all objects passed to that of the first object passed but the number of objects passed may vary. This is the syntax I am currently using, is this the best way to do it? Thanks for any comments in advance :) Ali //ob1 is the object that the objects in the array centre themselves to public static function center(ob1:Object, ob_ar:Array) { var targetX:Number = ob1._x; var targetY:Number = ob1._y; for (var i = 0; ihttp://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you. ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com