0

是否可以以编程方式从 swf(flash 应用程序)中提取动态加载的文本?

4

1 回答 1

1

我心里想着一件事。

如果加载 swf,则可以在 INIT 处理程序中访问其子项,因此您可以使用递归函数自动循环遍历所有子项并获取所有属于 TextFields(动态文本)的子项,因为统计文本是 TextSnapshot。

这是一个简单的实现:

var textFields:Array = [];
function getTextFields(container:DisplayObjectContainer,dumpArray:Array):void{
    for(var i:int = 0 ; i < container.numChildren ; i++){
        if(container.getChildAt(i) is TextField) dumpArray.push(container.getChildAt(i));
        if(container.getChildAt(i) is DisplayObjectContainer) getTextFields(DisplayObjectContainer(container.getChildAt(i)),dumpArray);
    }
}
//getTextFields(this,textFields);

听起来像是某种爬虫。你有什么考虑 ?

于 2009-09-02T00:46:17.323 回答