Actionscript 3 无形的Flash文本字段
我目前正试图模仿flash游戏中的一个屏幕,以达到我自己难以理解的目的,而所讨论的屏幕的典型截图看起来是这样的Actionscript 3 无形的Flash文本字段,actionscript-3,flash,flash-cs4,textfield,Actionscript 3,Flash,Flash Cs4,Textfield,我目前正试图模仿flash游戏中的一个屏幕,以达到我自己难以理解的目的,而所讨论的屏幕的典型截图看起来是这样的。我已经成功地从文件中找到并提取了背景图像,现在我正在尝试找出各种文本字段的位置。SWF的actionscript具有如下声明的各种文本字段: public var speedText:TextField; public var exp:TextField; public var evadeText:TextField; public var lvl:TextField; public
。我已经成功地从文件中找到并提取了背景图像
,现在我正在尝试找出各种文本字段的位置。SWF的actionscript具有如下声明的各种文本字段:
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文件,查找textfield名称的任何实例,除了为它们分配文本外,并没有任何点击。如果他们没有通过actionscript接收其定位属性,他们是如何接收这些值的,我如何才能获得这些值?使用加载程序实例加载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));
}
}
}
}
私有函数loadCompleteHandler(事件:event):void
{
var content:MovieClip=loader.content作为MovieClip;
loopIt(内容);
}
私有函数loopIt(movieClip:movieClip):无效
{
for(变量i:int=0;i0)
{
loopIt(ovieClip.getChildAt(0));
}
}
}
}
您正在分析反编译的代码吗?为什么不把textfield放在你需要的地方呢?我希望它看起来和原始元素一模一样,所以我想找到原始元素的确切位置。