不堪的IE6与Flash
我是个ActionScript 2的门外汉,最近在硬着头皮做Flash。其中有个剪辑需要水平平滑移动。写好代码之后,测试正常。到IE中一看,移动速度却慢得像蜗牛。
原来的代码类似这样:
clearInterval(moveTimer); moveTimer = setInterval(doMove,10); function doMove(){ item._x += 90; if( item._x >= 8964){ clearInterval(moveTimer); // do something else } }
一直知道经常需要为 IE6 编写多余的 JavaScript、CSS 。没想到 AS 也是。这个移动速度问题,可能是 IE6 的处理效率低的缘故。本来对于移动速度没有特别的要求,流畅、迅速即可。情况特殊,也不适合用帧来处理。
于此同时,也发现利用 setInterval 来实现的计时器,在IE6 中也极不准确。后来无奈,改用算时方式,指定时间与运动距离:
var moveStartTime:Number = getTimer(); var millsecond:Number = 1000; clearInterval(moveTimer); moveTimer = setInterval(doMove,10); function doMove(){ var timePast = getTimer() - moveStartTime; var distance = (8964/millisecond) * timePast; if( distance > 8964){ item._x = 8964; clearInterval(moveTimer); // do something else }else{ item._x = distance; } }
IE6 真是让人情何以堪哪。最近用上了 mg12 的 kill ie6 Widget。同时发现,我的博客竟然一直以来在IE6中是裸奔状态,嗯,我也不大清楚是怎么回事儿,等有空再琢磨吧。
5 replies on “不堪的IE6与Flash”
所以摒弃IE6是必须滴…
早就不用ie6了
问题是客户在用啊~
我一直在用FIREFOX,再FLASH方面表现好很多啊
许久没有来逛了!!