标签为 BUG 的存档
不能不说的秘密 Flsah Player全屏模式的BUG
Author: 柳世杀神·GabrielGon22 十二 2007
Adobe Flash Player v9.0.115.0 已解决以下BUG!在 Flsah Player 9 有了2套运行AS脚本的虚拟机,早期版本(SWF版本为8.0或更早,AS脚本版本为1.0或2.0),这类SWF文件由AVM1来运行,最新的SWF版本为9.0,AS脚本为3.0,这类SWF文件由效率更高的AVM2来执行。由于两套AVM完全不同,如果新版SWF文件载入早期版本的SWF,那么早期的SWF他运行在AVM1,而且_lockroot为true,变量,事件都不能访问和监听。总之就是看得到,摸不着。所以开发的时候就要避免加载早期的SWF,来避免不可控制。然而郁闷的是所有被载入的SWF都是9.0 AS3的版本,在全屏模式的切换下居然爆出被加载进来的是AVM1Movie(AVM1影片在AS3环境下的类型),然后在被载入SWF一切的对象访问、事件触发、gotoAndPlay 统统失效。而且在被载入的SWF自身的AS代码控制统统失效。表现为始终在循环播放。遇到这样的问题,开发的产品不得不放弃全屏模式。等待Adobe修复这个BUG吧。据进一步测试,这个问题出现在stage 有 resize 时会出现这个BUG。但尚未找到绕过补救的办法。如果你是Flash、Flex开发者。在开发有全屏需求的项目时,务必确认这个BUG已经修复。我在Flex 3 beta2 和Flash 9 en中编译出的SWF均出现这个BUG。OS:Windows XP SP2 CHSFlash Player Version:WIN 9,0,47,0 ActiveXvmVersion:1.0 d597下面的是一个BUG演示。由一个主SWF循环加载2个子SWF,三个SWF均为AS3版本。被加载的SWF是一个简单动画,当播放到最后一帧时由代码控制其停止并发起END事件。主SWF监听子SWF发起的END事件,触发另一个一个加载。主SWF的代码:1
2
3
4

最活跃用户