Flash路径问题

问题描述:
AMG需要加4辆车,因为之前资源都在放在库里,导致发布成为一个大问题,现在决定重写整个项目。在重写Video的时候,Video死活是一片空白。

问题分析:
因为之前是可以的,代码都没有动过,所以先在Video类里加一个新的元件,来看看是否是Video类没load出来还是Video没load出来,结果显示了新的元件,说明是Video没有load出来。
因为之前是Flash9,现在是flash10,所以先设置成Flash9,也不行,然后随便设置成AIR1.1,一切正常。难道是版本的问题?整个问题比较奇怪了。然后google了一下,没有什么帮助。
然后想会不会是路径问题,把"./Video/"改成"Video/",一切OK了。原来是Flash不支持"./"本地路径,而AIR就可以。

swf加密解密工具

加密:
DoSWF:不错的加密工具,选项也很丰富,可对SWF进行加密、混淆、注入随机代码、水印等,非常强大,推荐使用。
SWF Encrypt:老牌的加密工具,没有多余的选项可用,一键加密后被硕思搞定了。

解密:
Sothink SWF Decompiler:老牌的SWF破解工具,最新版本破解的能力还是非常强大,唯一不好地方就是加密工具注入随机代码后会导致崩溃,其他都能应付自如。
SWiX:通过XML的形式看FLASH,也可以直接进行修改,前提是你要看得懂。。。可以用这款软件查看或修改一些诸如帧率、颜色等常规,容易的内容。
AVR:也是满老的一个工具,破解的能力比硕思弱很多,不过多一个工具多一条路,硕思不行的时候可以用它试试。

Flash解析带命名空间XML的问题

问题描述:Hennessy项目,在Flash中调用Linq通过WebService返回的数据时,用AS3中E4X语法失败。只有使用AS2中.children()[0]的写法才能访问到数据。

问题分析:删除XML命名空间后,可以使用E4X语法。即在附中XML中删除:xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"

问题解决:在Linq中没有找到可以配置命名空间,所以只有在Flash端做处理,有如下几种解决方案:
1.删除所有命名空间,通过E4X语法或者正则表达式删除,操作起来比较麻烦
2.默认命名空间指定为空命名空间,default xml namespace=new Namespace("");,可能会遇到#1025错误,不知道怎么解决,可能是Flash的bug
3.使用带命名空间的E4X语法,所有字段前需加,namespace::,代码太繁琐

附:
<?
xml version="1.0" encoding="utf-8" ?>
<ArrayOfUserInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
......
</ArrayOfUserInfo>