Because _x is not necessarily an integer, vValue1 is not guaranteed to
be an integer either, which it must be for modulo to return the result
you want. Force it to be with
var vValue1 = Math.round(passed_MC._x - this.Maze_Horizontal_offset);
and it should work as you expect.
Helen
--
http://flash-creations.com
http://i-technica.com
Paul Steven wrote:
Experiencing a strange problem using the modulus operator.
Inside a function I have the following code:
var vValue1 = passed_MC._x - this.Maze_Horizontal_offset;
var vValue2 = 36;
var vTheResult = vValue1 % vValue2;
trace ("vValue1 = " + vValue1);
trace ("vTheResult = " + Number(vTheResult));
And here are the results I am getting from the trace statements:
vValue1 = 324
vTheResult = 5.6843418860808e-14
----------------
Surely it should give me a result of zero as 36 goes into 324 exactly 9
times.
The weird thing is if I just hard code the values as follows, it works
var vValue1 = 324;
var vValue2 = 36;
var vTheResult = vValue1 % vValue2;
trace ("vTheResult = " + Number(vTheResult));
-----------------
And here is the result of the trace statement:
vTheResult = 0
I am therefore totally confused!!!
Any help much appreciated. I am publishing for Flash 7 with Actionscript 1.0
Thanks
Paul
_______________________________________________
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