Flash程序库文件的构建加载方法、系统及装置的制造方法

xiaoxiao2020-10-23  17

Flash程序库文件的构建加载方法、系统及装置的制造方法
【专利说明】
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种Flash程序库文件的构建加载方法、系统及装置。
【【背景技术】】
[0002]Flash是一种交互式矢量图和Web动画标准,Flash软件是一种动画创作与应用程序开发于一身的创作软件,网页设计者使用Flash软件可创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。使用Flash创作的各个内容单元称为应用程序。Flash应用程序可包含丰富的视频、声音、图形和动画。设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。
[0003]多数Flash应用程序都会用到来自官方或者第三方提供的库文件。要想在Flash项目中使用这些库文件,Adobe提供的解决方案主要有两种,一种是采用静态链接编译方式直接将库文件嵌入到编译后的Flash文件,另一种是在首次运行Flash应用程序时加载库文件。
[0004]前一种解决方法可能导致Flash文件冗余度高。因为Flash应用程序的多个模块中可能会使用相同的库文件,而采用静态链接编译方式直接将库文件嵌入到编译后的Flash文件,则可能导致整个Flash文件重复导入了多份相同的库文件,从而大大增加Flash文件的冗余度以及数据量,相应地也会增加Flash文件的下载时间。而且,若库文件被改动,则需要将所有加载使用了被改动的库文件的模块重新编译,显然这是不稳定也是不方便维护的。而后一种解决方法虽然不会增加Flash文件的数据量,但在库文件被改动后同样会遇到困难。因为需要找出首次加载了被改动的库文件的模块,而各模块的加载顺序可能不是固定的,从而定位到首次加载了被改动的库文件的模块的难度很大。

【发明内容】

[0005]为了减少Flash文件冗余度且方便库文件修改,本发明提供Flash程序库文件的构建加载方法、系统及装置。
[0006]一种Flash程序库文件的构建加载方法,包括以下步骤:
[0007]生成嵌入了 Flash程序引用的库文件的SWF文件;
[0008]采用外部引用的方式编译Flash程序的各个模块,所述各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句;
[0009]在接收到Flash程序启动指令后,将所述SWF文件加载到公共域中;
[0010]加载编译后的Flash程序的各个模块;
[0011 ] 运行加载的所述Flash程序的各个模块。
[0012]在其中一个实施例中,所述运行加载的所述Flash程序的各个模块的步骤包括:
[0013]当执行使用所述库文件的类的命令语句时,从所述公共域中的SWF文件中获取库文件的类数据进行工作。
[0014]在其中一个实施例中,所述生成嵌入了 Flash程序引用的库文件的SWF文件的步骤包括:
[0015]新建Flex库项目;
[0016]将所述Flash程序引用的库文件导入所述Flex库项目,根据导入所述库文件的Flex库项目生成SWC文件;
[0017]新建Act1nScript 项目;
[0018]将所述SWC文件嵌入所述Act1nScript项目中,根据嵌入所述SWC文件后的Act1nScript项目生成SWF文件。
[0019]一种Flash程序库文件的构建加载系统,包括:
[0020]SWF文件生成模块,用于生成嵌入了 Flash程序引用的库文件的SWF文件;
[0021]编译模块,用于采用外部引用的方式编译Flash程序的各个模块,所述各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句;
[0022]加载模块,用于在接收到Flash程序启动指令后,将所述SWF文件加载到公共域中,进一步的加载编译后的Flash程序的各个模块;
[0023]运行模块,用于运行加载的所述Flash程序的各个模块。
[0024]在其中一个实施例中,所述运行模块用于当执行使用所述库文件的类的命令语句时,从所述公共域中的SWF文件中获取库文件的类数据进行工作。
[0025]在其中一个实施例中,所述SWF文件生成模块包括:
[0026]库项目新建单元,用于新建Flex库项目;
[0027]SWC文件生成单元,用于将所述Flash程序弓|用的库文件导入所述Flex库项目,根据导入所述库文件的Flex库项目生成SWC文件;
[0028]AS项目新建单元,用于新建Act1nScript项目;
[0029]SWF文件生成单元,用于将所述SWC文件嵌入所述Act1nScript项目中,根据嵌入所述SWC文件后的Act1nScript项目生成SWF文件。
[0030]一种Flash程序库文件的构建加载装置,包括:
[0031]SWF文件生成模块,用于生成嵌入了 Flash程序引用的库文件的SWF文件;
[0032]编译模块,用于采用外部引用的方式编译Flash程序的各个模块,所述各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句;
[0033]加载模块,用于在接收到Flash程序启动指令后,将所述SWF文件加载到公共域中,进一步的加载编译后的Flash程序的各个模块;
[0034]运行模块,用于运行加载的所述Flash程序的各个模块。
[0035]在其中一个实施例中,所述运行模块用于当执行使用所述库文件的类的命令语句时,从所述公共域中的SWF文件中获取库文件的类数据进行工作。
[0036]在其中一个实施例中,所述SWF文件生成模块包括:
[0037]库项目新建单元,用于新建Flex库项目;
[0038]SWC文件生成单元,用于将所述Flash程序弓|用的库文件导入所述Flex库项目,根据导入所述库文件的Flex库项目生成SWC文件;
[0039]AS项目新建单元,用于新建Act1nScript项目;
[0040]SWF文件生成单元,用于将所述SWC文件嵌入所述Act1nScript项目中,根据嵌入所述SWC文件后的Act1nScript项目生成SWF文件。
[0041 ] 上述Flash程序库文件的构建加载方法、系统及装置,将Flash程序引用的库文件嵌入到SWF文件中,并将SWF文件加载到公共域,而Flash程序的各个模块采用外部引用的方式进行编译,不需要将引用的库文件直接嵌入到各个模块中,在Flash程序运行过程中,可从公共域获取SWF文件中的库文件进行工作,上述方法和系统中,Flash程序引用的库文件被统一打包到SWF文件中,可避免了 Flash程序各个子模块重复加载相同的库文件,从而降低了 Flash文件冗余度,而且库文件被修改,只需要重新编译库文件的SWF文件即可,不需要重新编译Flash程序所有的模块,在库文件的SWF文件优先于Flash程序模块被加载的情况下也不需要定位首次加载被修改的库文件的模块,从而可降低库文件修改带来的工作量。
【【附图说明】】
[0042]图1为一个实施例中的Flash程序库文件的构建加载方法的流程示意图;
[0043]图2为一个实施例中图1的步骤S102的流程示意图;
[0044]图3为一个实施例中的Flash程序库文件的构建加载系统的结构示意图;
[0045]图4为一个实施例中的SWF文件生成模块的结构示意图;
[0046]图5为一个实施例中的Flash程序库文件的构建加载装置的结构示意图。
【【具体实施方式】】
[0047]如图1所示,在一个实施例中,一种Flash程序库文件的构建加载方法,包括以下步骤:
[0048]步骤S102,生成嵌入了 Flash程序引用的库文件的SWF文件。
[0049]Flash程序引用的库文件包括官方库文件、第三方库文件以及Flash程序自身创建的库文件。
[0050]SWF (shock wave flash)是Macromedia (现已被ADOBE公司收购)公司的动画设计软件Flash的专用格式,是 一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计,动画制作等领域。
[0051]如图2所示,在一个实施例中,步骤S102包括以下步骤:
[0052]步骤S202,新建Flex库项目。
[0053]Flex是一个高效、免费的开源框架,可用于构建具有表现力的Web应用程序,这些应用程序可利用Adobe Flash Player和Adobe AIR打开,运行时跨浏览器、桌面和操作系统实现一致的部署。Flex库项目是使用Flex框架构建的项目。
[0054]可控制Adobe Flash Builder 新建一个 Flex 库项目。Adobe Flash Builder 由Adobe Flex Builder改名而成。Adobe Flash Builder是用于构建Flex项目的开发工具。
[0055]步骤S204,将Flash程序引用的库文件导入Flex库项目,根据导入库文件的Flex库项目生成SWC文件。
[0056]SWC文件是类似zip的文件,class文件、图片以及.css的样式文件等可被打包到SWC文件中。在Flex开发中通常用SWC文件来导入已经编译好的WebService包(网页服务包)。
[0057]可展示用于指定Flash程序引用的库文件的路径的交互界面,通过交互界面接收用户指定的Flash程序引用的库文件的路径,并将指定路径下的库文件导入Flex库项目。
[0058]步骤S206,新建 Act1nScript 项目。
[0059]Act1nScript是运用在Flash上的脚本语言,最初是一种简单的脚本语言,后来发展成一种完全的面向对象的编程语言,功能强大,类库丰富,多用于Flash互动性、娱乐性、实用性开发、网页制作等。Act1nScript项目是基于Act1nScript脚本语言的项目。
[0060]步骤S208,将上述SWC文件嵌入新建的Act1nScript项目中,根据嵌入SWC文件后的Act1nScript项目生成SWF文件。
[0061]可设置Act1nScript项目的项目属性“Act1nScript编译器”中的附加的编译器参数为:-1nclude-libraries〃SWC文件路径〃,以将SWC文件强制嵌入新建的Act1nScript项目中。例如,SWC文件路径为:?./AppRs 1 /bin/AppRs 1.swc,则可设置附加的编译器参数为 1-1nclude-libraries"../AppRs 1 /bin/AppRs 1.swc"。
[0062]步骤S104,采用外部引用的方式编译Flash程序的各个模块,Flash程序的各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句。
[0063]步骤S106,在接收到Flash程序启动指令后,将上述SWF文件加载到公共域中。
[0064]SWF文件被加载到公共域中,从而SWF文件所包含的库文件的类可被Flash程序的各个模块获取到。
[0065]步骤S108,加载编译后的Flash程序的各个模块。
[0066]步骤S110,运行加载的Flash程序的各个模块。
[0067]当执行使用库文件的类的命令语句时,从公共域中的SWF文件中获取库文件的类数据进行工作。
[0068]库文件存储在SWF文件中,因此,若命令语句中使用了库文件的类,则当执行该命令语句时,需从公共域中的SWF文件中命令语句使用的类的数据,以实现该命令语句的功倉泛。
[0069]如图3所不,在一个实施例中,一种Flash程序库文件的构建加载系统,包括SWF文件生成模块302、编译模块304、加载模块306和运行模块308,其中:
[0070]SWF文件生成模块302用于生成嵌入了 Flash程序引用的库文件的SWF文件。
[0071]Flash程序引用的库文件包括官方库文件、第三方库文件以及Flash程序自身创建的库文件。
[0072]SWF (shock wave flash)是Macromedia (现已被ADOBE公司收购)公司的动画设计软件Flash的专用格式,是一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计,动画制作等领域。
[0073]如图4所示,在一个实施例中,SWF文件生成模块302包括库项目新建单元402、SWC文件生成单元404、AS项目新建单元406和SWF文件生成单元408,其中:
[0074]库项目新建单元402用于新建Flex库项目。
[0075]Flex是一个高效、免费的开源框架,可用于构建具有表现力的Web应用程序,这些应用程序可利用Adobe Flash Player和Adobe AIR打开,运行时跨浏览器、桌面和操作系统实现一致的部署。Flex库项目是使用Flex框架构建的项目。
[0076]库项目新建单兀402可控制Adobe Flash Builder新建一个Flex库项目。AdobeFlash Builder 由 Adobe Flex Builder 改名而成。Adobe Flash Builder 是用于构建 Flex项目的开发工具。
[0077]SWC文件生成单元404用于将Flash程序引用的库文件导入Flex库项目,根据导入库文件的Flex库项目生成SWC文件。
[0078]SWC文件是类似zip的文件,class文件、图片以及.css的样式文件等可被打包到SWC文件中。在Flex开发中通常用SWC文件来导入已经编译好的WebService包(网页服务包)。
[0079]在一个实施例中,上述Flash程序库文件的构建加载系统还包括展示模块和路径获取模块(图中未示出),展示模块用于展示用于指定Flash程序引用的库文件的路径的交互界面,路径获取模块用于接收用户通过交互界面指定的Flash程序引用的库文件的路径。本实施例中,SWC文件生成单元404可将接收的用户指定的路径下的库文件导入Flex库项目。
[0080]AS项目新建单元406用于新建Act1nScript项目。
[0081]Act1nScript是运用在Flash上的脚本语言,最初是一种简单的脚本语言,后来发展成一种完全的面向对象的编程语言,功能强大,类库丰富,多用于Flash互动性、娱乐性、实用性开发、网页制作等。Act1nScript项目是基于Act1nScript脚本语言的项目。
[0082]SWF文件生成单元408用于将上述SWC文件嵌入新建的Act1nScript项目中,根据嵌入SWC文件后的Act1nScript项目生成SWF文件。
[0083]SWF文件生成单元408可设置Act1nScript项目的项目属性“Act1nScript编译器”中的附加的编译器参数为:-1nClUde-libraries"SWC文件路径",以将SWC文件强制嵌入新建的Act1nScript项目中。例如,SWC文件路径为:?./AppRs 1 /bin/AppRs 1.swc,则可设置附加的编译器参数为:-1nclude_libraries〃../AppRs 1 /bin/AppRs 1.swc〃。
[0084]编译模块304用于采用外部引用的方式编译Flash程序的各个模块,Flash程序的各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句。
[0085]加载模块306用于在接收到Flash程序启动指令后,将上述SWF文件加载到公共域中,进一步的加载编译后的Flash程序的各个模块。
[0086]SWF文件被加载到公共域中,从而SWF文件所包含的库文件的类可被Flash程序的各个模块获取到。
[0087]运行模块308用于运行加载的Flash程序的各个模块。
[0088]运行模块308用于当执行使用库文件的类的命令语句时,从公共域中的SWF文件中获取库文件的类数据进行工作。
[0089]库文件存储在SWF文件中,因此,若命令语句中使用了库文件的类,则当执行该命令语句时,需从公共域中的SWF文件中命令语句使用的类的数据,以实现该命令语句的功倉泛。
[0090]如图5所示,在一个实施例中,一种F lash程序库文件的构建加载装置,包括SWF文件生成模块502、编译模块504、加载模块506和运行模块508,其中:
[0091]SWF文件生成模块502用于生成嵌入了 Flash程序引用的库文件的SWF文件。
[0092]Flash程序引用的库文件包括官方库文件、第三方库文件以及Flash程序自身创建的库文件。
[0093]在一个实施例中,SWF文件生成模块502包括库项目新建单元、SWC文件生成单元、AS项目新建单元和SWF文件生成单元,其中:库项目新建单元用于新建Flex库项目。SWC文件生成单元用于将Flash程序引用的库文件导入Flex库项目,根据导入库文件的Flex库项目生成SWC文件。AS项目新建单元用于新建Act1nScript项目。SWF文件生成单元用于将上述SWC文件嵌入新建的Act1nScript项目中,根据嵌入SWC文件后的Act1nScript项目生成SWF文件。
[0094]编译模块504用于采用外部引用的方式编译Flash程序的各个模块,Flash程序的各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句。
[0095]加载模块506用于在接收到Flash程序启动指令后,将上述SWF文件加载到公共域中,进一步的加载编译后的Flash程序的各个模块。
[0096]SWF文件被加载到公共域中,从而SWF文件所包含的库文件的类可被Flash程序的各个模块获取到。
[0097]运行模块508用于运行加载的Flash程序的各个模块。
[0098]运行模块508用于当执行使用库文件的类的命令语句时,从公共域中的SWF文件中获取库文件的类数据进行工作。
[0099]库文件存储在SWF文件中,因此,若命令语句中使用了库文件的类,则当执行该命令语句时,需从公共域中的SWF文件中命令语句使用的类的数据,以实现该命令语句的功倉泛。
[0100]上述Flash程序库文件的构建加载方法和系统及装置,将Flash程序引用的库文件嵌入到SWF文件中,并将SWF文件加载到公共域,而Flash程序的各个模块采用外部引用的方式进行编译,不需要将引用的库文件直接嵌入到各个模块中,在Flash程序运行过程中,可从公共域获取SWF文件中的库文件进行工作,上述方法和系统中,Flash程序弓|用的库文件被统一打包到SWF文件中,可避免了 Flash程序各个子模块重复加载相同的库文件,从而降低了 Flash文件冗余度,而且库文件被修改,只需要重新编译库文件的SWF文件即可,不需要重新编译Flash程序所有的模块,在库文件的SWF文件优先于Flash程序模块被加载的情况下也不需要定位首次加载被修改的库文件的模块,从而可降低库文件修改带来的工作量。
[0101]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种Flash程序库文件的构建加载方法,包括以下步骤: 生成嵌入了 Flash程序引用的库文件的SWF文件; 采用外部引用的方式编译Flash程序的各个模块,所述各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句; 在接收到Flash程序启动指令后,将所述SWF文件加载到公共域中; 加载编译后的Flash程序的各个模块; 运行加载的所述Flash程序的各个模块。2.根据权利要求1所述的Flash程序库文件的构建加载方法,其特征在于,所述运行加载的所述Flash程序的各个模块的步骤包括: 当执行使用所述库文件的类的命令语句时,从所述公共域中的SWF文件中获取库文件的类数据进行工作。3.根据权利要求1所述的Flash程序库文件的构建加载方法,其特征在于,所述生成嵌入了 Flash程序引用的库文件的SWF文件的步骤包括: 新建Flex库项目; 将所述Flash程序引用的库文件导入所述Flex库项目,根据导入所述库文件的Flex库项目生成SWC文件; 新建 Act1nScript 项目; 将所述SWC文件嵌入所述Act1nScript项目中,根据嵌入所述SWC文件后的Act1nScript项目生成SWF文件。4.一种Flash程序库文件的构建加载系统,其特征在于,包括: SffF文件生成模块,用于生成嵌入了 Flash程序引用的库文件的SWF文件; 编译模块,用于采用外部引用的方式编译Flash程序的各个模块,所述各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句; 加载模块,用于在接收到Flash程序启动指令后,将所述SWF文件加载到公共域中,进一步的加载编译后的Flash程序的各个模块; 运行模块,用于运行加载的所述Flash程序的各个模块。5.根据权利要求4所述的Flash程序库文件的构建加载系统,其特征在于,所述运行模块用于当执行使用所述库文件的类的命令语句时,从所述公共域中的SWF文件中获取库文件的类数据进行工作。6.根据权利要求4所述的Flash程序库文件的构建加载系统,其特征在于,所述SWF文件生成模块包括: 库项目新建单元,用于新建Flex库项目; SffC文件生成单元,用于将所述Flash程序引用的库文件导入所述Flex库项目,根据导入所述库文件的Flex库项目生成SWC文件; AS项目新建单元,用于新建Act1nScript项目; SffF文件生成单元,用于将所述SWC文件嵌入所述Act1nScript项目中,根据嵌入所述SffC文件后的Act1nScript项目生成SWF文件。7.—种Flash程序库文件的构建加载装置,其特征在于,包括: SffF文件生成模块,用于生成嵌入了 Flash程序引用的库文件的SWF文件; 编译模块,用于采用外部引用的方式编译Flash程序的各个模块,所述各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句; 加载模块,用于在接收到Flash程序启动指令后,将所述SWF文件加载到公共域中,进一步的加载编译后的Flash程序的各个模块; 运行模块,用于运行加载的所述Flash程序的各个模块。8.根据权利要求7所述的Flash程序库文件的构建加载装置,其特征在于,所述运行模块用于当执行使用所述库文件的类的命令语句时,从所述公共域中的SWF文件中获取库文件的类数据进行工作。9.根据权利要求7所述的Flash程序库文件的构建加载装置,其特征在于,所述SWF文件生成模块包括: 库项目新建单元,用于新建Flex库项目; SffC文件生成单元,用于将所述Flash程序引用的库文件导入所述Flex库项目,根据导入所述库文件的Flex库项目生成SWC文件; AS项目新建单元,用于新建Act1nScript项目; SffF文件生成单元,用于将所述SWC文件嵌入所述Act1nScript项目中,根据嵌入所述SffC文件后的Act1nScript项目生成SWF文件。
【专利摘要】一种Flash程序库文件的构建加载方法,包括:生成嵌入了Flash程序引用的库文件的SWF文件;采用外部引用的方式编译Flash程序的各个模块,各个模块中包含表示以外部方式引用SWF文件中的库文件的命令语句;在接收到Flash程序启动指令后,将SWF文件加载到公共域中;加载编译后的Flash程序的各个模块;运行加载的Flash程序的各个模块。上述方法避免了Flash程序重复加载相同的库文件,从而降低了Flash文件冗余度,且库文件被修改,只需要重新编译库文件的SWF文件,不需要重新编译Flash程序所有的模块,在库文件的SWF文件优先于Flash程序模块被加载的情况下也不需要定位首次加载被修改的库文件的模块,从而可降低库文件修改带来的工作量。此外,还提供一种Flash程序库文件的构建加载系统和装置。
【IPC分类】G06F9/445
【公开号】CN104899051
【申请号】CN201410079203
【发明人】陈华孝
【申请人】博雅网络游戏开发(深圳)有限公司
【公开日】2015年9月9日
【申请日】2014年3月5日

最新回复(0)