我目前正试图模仿Flash游戏中的屏幕以达到我自己难以理解的目的,并且屏幕的典型屏幕截图看起来像这样。我已成功找到并从文件中提取背景图像
,现在我正在尝试找出各种文本字段的位置。 SWF的动作脚本具有各种文本字段:
public var speedText:TextField;
public var exp:TextField;
public var evadeText:TextField;
public var lvl:TextField;
public var critText:TextField;
我遇到的问题是,我无法在代码中的任何地方找到任何实际为任何文本字段分配x,y,width或height属性的实例,也不会在舞台上使用Flash CS4的任何位置,所以我根本无法确定他们的位置。我搜索了与swf相关的所有actionscript文件,用于任何文本域名称的实例,除了为它们分配文本外没有任何命中。如果他们没有通过动作脚本接收他们的定位属性, 他们如何接收这些值,我怎样才能获得它们?
答案 0 :(得分:1)
使用Loader-Instance加载swf,然后您可以遍历其子项并跟踪位置:
private function loadCompleteHandler(event : Event) : void
{
var content : MovieClip = loader.content as MovieClip;
loopIt(content);
}
private function loopIt(movieClip : MovieClip) : void
{
for(var i : int = 0; i < movieClip.numChildren; i++)
{
trace("x pos: " + movieClip.getChildAt(0).x);
if(movieClip.getChildAt(0) is MovieClip)
{
if(movieClip.getChildAt(0).numChildren>0)
{
loopIt(ovieClip.getChildAt(0));
}
}
}
}