2011-11-04 55 views
0

我有一个只包含库资源的swf,没有代码。它由另一个有代码的swf加载。当我包含TLFTextfield时,闪烁 - 符号从swf中消失

图书馆swf有大约280个符号被导出用于AS3。所有的工作都很好,直到我制作一个包含TLFTextField的新动画片段,而不是一个TextField。当我构建swf时,没有警告或错误,但是在运行时,我无法从库swf加载任何资源。对于每个资产,hasDefinition总是返回false。

我把swf给了一位使用010编辑器查看swf中所有定义的同事,他说没有符号。我删除了TLFTextField,重建了swf,并再次给了他。他说现在它有280个符号。

不管怎样,编译TLFTextfield和编译都会搞砸swf中的每个符号,即使在编译时没有任何警告或错误。有关它为什么这样做的任何想法?顺便说一句,我正在使用CS5。

+0

当我说'与TextField相反'时,我应该说'与经典文本相反' –

回答

0

默认情况下,textLayout.swc(由TLFTextField使用)作为RSL导出(到一个单独的SWZ文件中),并且SWF获取一个预加载器SWF存根添加到它,负责加载该SWZ文件。

不知道如何添加预加载器,但如果我用Flashdevelop检查SWF,我只能看到预加载器中的符号。不是我为Action Script导出的符号,我假设主SWF被添加到preloader存根,并以某种方式被preloader加载。

你必须去发布设置 - >动作脚本3.0设置 - >库选项卡 - >选择textLayout.swc并在底部更改默认链接到“合并到代码”。这有希望解决您的问题。

+0

感谢Josha,解决了问题:) –