前不久做了一个项目,我对几个MC的坐标进行累加,结果发现它们的位置并没有改变,很不理解,后来专门做了一个测试,才发现原来MC的坐标是有最小单位的,在它们的改变量低于这个单位后,坐标值是不会发生改变的,下面是一个小测试,代码如下:
mc._x=100;
trace("mc._x="+mc._x);
for(var i=1;i<=10;i++){
mc._x+=0.04;
trace("mc._x="+mc._x);
}
trace("mc._x="+mc._x);
mc为场景中一个名为mc的MovieClip,
结果为:
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
如果把代码改为:
mc._x=100;
trace("mc._x="+mc._x);
for(var i=1;i<=10;i++){
mc._x+=0.05;
trace("mc._x="+mc._x);
}
trace("mc._x="+mc._x);
则结果为:
mc._x=100
mc._x=100.05
mc._x=100.1
mc._x=100.15
mc._x=100.2
mc._x=100.25
mc._x=100.3
mc._x=100.35
mc._x=100.4
mc._x=100.45
mc._x=100.5
mc._x=100.5
经过测试,坐标的最小单位好像是0.05,但这也不一定准确,不知道这个是否有一个确定的值,本测试仅供参考。
mc._x=100;
trace("mc._x="+mc._x);
for(var i=1;i<=10;i++){
mc._x+=0.04;
trace("mc._x="+mc._x);
}
trace("mc._x="+mc._x);
mc为场景中一个名为mc的MovieClip,
结果为:
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
mc._x=100
如果把代码改为:
mc._x=100;
trace("mc._x="+mc._x);
for(var i=1;i<=10;i++){
mc._x+=0.05;
trace("mc._x="+mc._x);
}
trace("mc._x="+mc._x);
则结果为:
mc._x=100
mc._x=100.05
mc._x=100.1
mc._x=100.15
mc._x=100.2
mc._x=100.25
mc._x=100.3
mc._x=100.35
mc._x=100.4
mc._x=100.45
mc._x=100.5
mc._x=100.5
经过测试,坐标的最小单位好像是0.05,但这也不一定准确,不知道这个是否有一个确定的值,本测试仅供参考。
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}