南阳市工商管理局:flash有关_width_height的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 07:57:19
发现一个问题,找了许久也没有解决:
下面两个代码是同一帧上的代码,A为一种,但运行时值会出现错误,B为另一种,运行时值无错,但达不到效果:
(A)
var loadmcoldw = bimMc._width;
var loadmcoldh = bimMc._height;
trace(bimMc._width+","+bimMc._height);
(B)
trace(bimMc._width+","+bimMc._height);//去掉了A中的前两行语句

bimMc为一个空的影片剪辑,但在前一帧是有加载外部图片的,外部图片是存在,而且也确实加载进来的,loadmcoldw和loadmcoldh是分别用来保存bimMc加载图片后的宽和高.

问题在于:
使用A代码的时间,连续两三次重新加载其它图片的话,其输出窗口中的尺寸就会发生严重的偏差,比如图片本来的尺寸是2000*600,那么输出的可能是200.22,60.17
而如果使用B代码,就不会出现上面的情况,但是bimMc的尺寸就不能存放进loadmcoldw和loadmcoldh中了.

这是什么原因啊,两段代码就只有两个赋值语句的不同,为什么会出现这种现象?请指教.
下面是一些数值上的参考:
(A代码的执行结果)
trace输出的值(图片的实际大小)
400,290(400,290)
1732,1904(1732,1904)
295.85,353.2(1941,2319)
292.2,229.6(2344,1836)
248.8,193.2(1996,1545)
249.3,360.15(2000,3008)
200,273.4(2000.2715)

(B代码的执行结果)
trace输出的值(图片的实际大小)
400,290(400,290)
1732,1904(1732,1904)
1941,2319(1941,2319)
2344,1836(2344,1836)
1996,1545(1996,1545)
2000,2880(2000,2880)
2000,2715(2000,2715)

另外,总共两帧,第一帧为加载图片的帧,AS有控制加载完毕后跳转到第2帧,第2帧上的AS就是上面的A或B.