我创建了一个包含文本TLF的swf。
之后我将它加载到flex移动应用程序中。
一开始我加载它有很多问题。
1-首先,因为我使用了Loader,项目是使用Flash Profesional创建的。最好的方法是使用Flash Professional中包含的Flash库的ProLoader加载它。
2-有一次我终于在桌面上的模拟器中加载并尝试了它,我在我的iPad中在Debug和快速编译模式下尝试了它。我有下一个错误:
错误#2100:Loader.loadBytes()中的ByteArray参数必须具有 长度大于0。
我修复了它在FLA中使用发布设置库“组合代码”中的选项编译swf。大! iPad中的TLF有效!在iOS工作!
3-但是当我构建了相同代码的版本(之前在设备中调试时有效)时,当我打开它时我只看到图像。不是文本。 为什么适用于调试而不是发布?
你知道我忘了什么吗?
提前多多感谢。
编辑添加某些代码
我嵌入了swfs并将它们加载到项呈示器中。该列表有一个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意味着运行时代码? =( 我在Adobe article中看到了这个:
如果您使用TLF文本,我将代码,TLF库合并到swf中,因为iOS不会在运行时加载RSL。
我在做什么但是??我该如何嵌入和使用它? 我认为answer会帮助我,但我不确定
更新2
我已经更改了代码。使用@Jeff Ward的swf合并但结果是一样的。加载了swf,但未显示TLF文本。
var pagAsset:Class = pagesAssets.assets[value];
var pag:MovieClip = new pagAsset();
addChild(pag);
为什么?