Flash 如何设置RSL(运行时共享库)

Flash 如何设置RSL(运行时共享库),flash,actionscript-3,rsl,Flash,Actionscript 3,Rsl,堆叠 我在建立一个新项目(电子学习)时遇到了一些困难,我认为它将从RSL中受益匪浅。 我的情况是这样的: Main.fla-外壳 Scenes.fla-我马上解释一下 Navigation.fla-某种GUI 大量Fla文件-课程 Main将是要实例化的第一部电影,然后,从这里开始所需的一切将是下载 除了“架构”(即主、场景、导航和一整套称为引擎的类)之外,每个课程都将放在fla/swf中,并将在运行时添加到场景中 引擎负责处理重复和必要的任务、事件、常用方法、与服务器的通信等 导航负责处理用户

堆叠

我在建立一个新项目(电子学习)时遇到了一些困难,我认为它将从RSL中受益匪浅。
我的情况是这样的:

Main.fla-外壳
Scenes.fla-我马上解释一下
Navigation.fla-某种GUI
大量Fla文件-课程

Main将是要实例化的第一部电影,然后,从这里开始所需的一切将是下载

除了“架构”(即主、场景、导航和一整套称为引擎的类)之外,每个课程都将放在fla/swf中,并将在运行时添加到场景中

引擎负责处理重复和必要的任务、事件、常用方法、与服务器的通信等

导航负责处理用户输入,如导航(下一课/上一课等),然后将其传递给引擎,引擎将操纵场景(及其子场景)

嗯,我也有一些限制:
每个将要交给我们客户的swf文件都需要小于80kb,这意味着我被束缚住了。
我不能把整件事编译成一个随时可以交付的包

考虑到大小,我需要尽可能减轻负载的方法。
所以,这些天我搜索了很多,找到了RSL。
我已经创建了一些测试来更好地了解如何使用它,当然,我陷入了一个陷阱

我无法正确设置Flash,无法成功使用“库路径”(在AS3配置下),无法在SWC内编译类

另一件事是,我不会上这些课,只上建筑课。
这些课程将由那些可能根本不懂AS3(OOP或程序逻辑)的人讲授。
我不想把整个引擎(源代码)交付给任何可能会弄乱它的外部人员,制作整个应用程序(事实上,我们将制作数百个电子学习应用程序)

我真的认为我在某些事情上需要帮助(时间一点一点地过去了):

如何有效地使用RSL
如何在SWC内部绑定类
如何在SWC中打包整个工作所必需的所有内容,然后仅交付此SWC

我知道这个线程有点长,我问了很多问题,但我已经在键盘上敲了一个星期的头,还没能管理好设置

感谢您的关注……

NemoStein

有两种方法可以从fla中执行此操作

一个是导出整个库。 转到发布设置,选择仅Flash,然后在Flash选项卡下选择导出SWC

另一种方法是右键单击库中的项目并选择Export SWC。如果您对具有大小限制的项目有问题,这可能是一种解决方法,但否则我建议导出整个库

向资产中添加链接ID非常重要 您可以通过库中的“链接id”列或通过编辑符号特性来输入

这些ID必须是唯一的,因为它们是您将调用它们的类的名称。创建一个公共前缀是一个好主意,这样它们就不太可能干扰其他类

编译资产后,可以将它们添加到项目的运行时库文件夹中,也可以通过设置或嵌入标记逐个嵌入它们。我使用FlashDevelop,这使它很容易,不知道你在使用什么,但我确信这个选项是存在的,并且很容易访问


使用库。

我一直在做什么来加载资产(运行时的swf) 为什么要运行蒂姆主权财富基金?好吧,如果你是为内容编译引擎,你真的不能把它分开。其思想是首先加载引擎,然后加载配置,该配置告诉引擎如何处理库以及在何处查找每个库

我的设置/设置简化如下

我有一个默认的配置xml文件,其中添加了库。出于我的目的,我知道预期的库,所以我有xml标记,带有预先定义的ID,如下所示:

在代码方面,我将库的名称/类型定义为一个常量static,并将它们全部放在另一个常量数组中。 在我的数据类中是这样的 const static var TYPE_COMPONENTS:String=“COMPONENTS”; const static var TYPE_INTERFACE:String=“INTERFACE”; 常量静态变量类型:数组=[类型\组件,类型\接口]

一旦我加载了ConfgXML,就可以逐个遍历子节点,看看它们是否匹配我的类型数组下的任何项。我将所有匹配项放在一个组加载器()中,我还将所有资源放在一个字典数组中,这样我就可以通过我定义的静态变量(Data.TYPE_接口)来配置资源

然后我等待装载完成

一旦要加载资产,我就使用getLoader(Data.TYPE_接口)。(
myClassName
)来创建类

检查类是否存在而不抛出错误会有所帮助

您需要知道要调用它的类名,我使用另一个XML文件定义要查找的类以及如何处理它们

我手工生成XML文件,有时需要提醒自己选项是什么,但是可以创建一个AIR应用程序来生成这些文件。因为我使用swf作为在pc上运行的引擎,所以无法找到子文件夹中存在的库,就像使用服务器端技术或AIR一样,所以XML是必要的


希望这能有所帮助。有两种方法可以从fla中实现这一点

一个是导出整个库。 转到发布设置,选择仅Flash,然后在Flash下选择导出SWC