1

我创建了一个包含文本 TLF 的 swf。

之后,我将其加载到 flex 移动应用程序中。

一开始我在加载它时遇到了很多问题。

1- 首先是因为我使用了 Loader,并且该项目是使用 Flash Professional 创建的。最好的方法是使用 Flash Professional 中包含的 Flash 库的 ProLoader 加载它。

2-有一次我终于在桌面上的模拟器中加载并尝试了它,我在我的 iPad 上以调试和快速编译模式进行了尝试。我有下一个错误:

错误 #2100:Loader.loadBytes() 中的 ByteArray 参数的长度必须大于 0。

我修复了它在 FLA 中使用发布设置库中的选项“在代码中组合”编译 swf。伟大的!iPad 中的 TLF 有效!在 iOS 作品中!

3-但是当我构建相同代码的版本(以前在设备中调试时工作)时,当我打开它时,我只看到图像。不是文字。 为什么在调试而不是发布时工作?

你知道我忘记了什么吗?

提前非常感谢。

编辑添加一些代码

我嵌入了 swf 并将它们加载到项目渲染器中。该列表有一个 id 的数据提供者。我在每个项目渲染器中加载与 id 对应的 swf。

[Embed(source="/bin/histologia.swf")]
public const PAG_01:Class;

[Embed(source="/bin/histologia.swf")]
public const PAG_02:Class;


public function set data( value:Object ):void {
    ...
    var pagAsset:Class = pagesAssets.assets[value];
var pag:MovieClip = new pagAsset();
var SWFClass:ByteArray = pag.movieClipData;
var ldrContext:LoaderContext = new LoaderContext(false, new     ApplicationDomain(ApplicationDomain.currentDomain)); 
    ldrContext.allowLoadBytesCodeExecution = true;
    currentLoader.loadBytes(SWFClass, ldrContext);

¿loadBytes 暗示运行时代码?=(我在一篇Adob​​e 文章中读到了这个:

如果你使用 TLF 文本,我将代码、TLF 库合并到 swf 中,因为 iOS 不会在运行时加载 RSL。

但是我在做什么??我如何嵌入和使用它?我认为这个答案会对我有所帮助,但我不确定

更新 2

我已经更改了代码。使用来自@Jeff Ward 的 swf 合并,但结果是一样的。已加载 swf,但未显示 TLF 文本。

var pagAsset:Class = pagesAssets.assets[value];
var pag:MovieClip = new pagAsset();
addChild(pag);

为什么??

4

0 回答 0