本发明涉及数据处理,尤其涉及一种flash项目的移植方法、装置、系统及存储介质。
背景技术:
1、目前的市场上存在大量的使用flash技术开发的网页,然而由于flash技术存在一些无法解决的安全和效率问题,chrome等主流浏览器以及使用chrome内核的其他浏览器已经放弃了对flash的支持,如果对flash网页重新进行开发,需要耗费大量的人力物力,所以需要一种能够利用原有flash逻辑代码和资源数据的技术,将原flash网页低成本、快速地移植到html5网页平台。
2、现有技术中只能通过一些零散的工具,将as代码转化为ts代码,或将flash使用的数据文件fla导出,然而现有的转换工具版本老旧,存在大量bug,导致移植后的代码无法编译运行,或破解导出后的资源无法使用,因此移植效率低下,无法满足现有的flash项目移植到html5平台的需求。
技术实现思路
1、本发明实施例提供一种flash项目的移植方法、装置、系统及存储介质,能够提高flash项目移植至新平台的移植效率。
2、本发明一实施例提供了一种flash项目的移植方法,包括:
3、在flash项目下建立第一目录,将所述flash项目的工程代码添加至所述第一目录下;
4、获取所述flash项目的引用库,并计算所述引用库与所述第一目录的结构区分度;
5、根据所述结构区分度对所述工程代码和所述引用库的库代码进行代码转换,得到所述目标项目对应的目标代码;
6、调用所述目标项目与所述flash项目功能对应的功能接口;
7、将所述flash项目中的源资源文件转换为所述目标项目对应的目标资源文件;
8、根据所述flash项目的通用库获取所述目标项目对应的目标库;
9、将所述目标代码、功能接口、目标资源文件和目标库移植至所述目标项目。
10、作为上述方案的改进,所述根据所述结构区分度对所述工程代码和所述引用库的库代码进行代码转换,得到所述目标项目对应的目标代码,包括:
11、当所述结构区分度大于预设的区分阈值时,将所述引用库的库代码添加至所述第一目录下,并对所述第一目录下的工程代码和库代码同时进行代码转换,得到所述目标项目对应的目标代码;
12、当所述结构区分度不大于所述区分阈值时,对所述第一目录下的工程代码进行代码转换,根据所述工程代码的转换结果适应性修改所述库代码,根据所述工程代码的转换结果和所述库代码的修改结果得到所述目标项目对应的目标代码。
13、作为上述方案的改进,所述根据所述结构区分度对所述工程代码和所述引用库的库代码进行代码转换,得到所述目标项目对应的目标代码,还包括:
14、识别所述工程代码中的包名;
15、根据所述包名的数据类型对所述包名进行重定义,得到所述目标代码。
16、作为上述方案的改进,所述调用所述目标项目与所述flash项目功能对应的功能接口,包括:
17、当所述目标项目的目标引擎中存在与所述flash项目功能对应的数据接口时,生成接口对应表,根据所述接口对应表调用所述数据接口作为所述功能接口;
18、当所述目标项目的目标引擎中不存在与所述flash项目功能对应的数据接口时,在中间层搭建所述目标引擎与所述flash项目功能对应的数据接口,并调用所述数据接口作为所述功能接口。
19、作为上述方案的改进,所述将所述flash项目中的源资源文件转换为所述目标项目对应的目标资源文件,包括:
20、通过预设的图集整合工具,将所述源资源文件中的若干张零散图片合并为贴图集;
21、将整合完成的所述贴图集加入所述目标资源文件。
22、作为上述方案的改进,所述将所述flash项目中的源资源文件转换为所述目标项目对应的目标资源文件之后,还包括:
23、将所述目标资源文件中的媒体文件进行重打包,得到包文件,其中,所述媒体文件包括图素文件、音效文件中的至少一种;
24、在所述目标项目执行时,通过预设的加载引擎加载所述包文件,以在所述目标项目中读取所述媒体文件。
25、作为上述方案的改进,所述将所述目标代码、功能接口、目标资源文件和目标库移植至所述目标项目之后,还包括:
26、获取版本发布数据,对所述版本发布数据进行数据压缩,得到版本发布文件;
27、将所述版本发布文件输出至所述目标项目的发布目录中。
28、本发明另一实施例对应提供了一种flash项目的移植装置,包括:
29、代码迁移模块,用于在flash项目下建立第一目录,将所述flash项目的工程代码添加至所述第一目录下;
30、区分度获取模块,用于获取所述flash项目的引用库,并计算所述引用库与所述第一目录的结构区分度;
31、代码转换模块,用于根据所述结构区分度对所述工程代码和所述引用库的库代码进行代码转换,得到所述目标项目对应的目标代码;
32、接口调用模块,用于调用所述目标项目与所述flash项目功能对应的功能接口;
33、资源转换模块,用于将所述flash项目中的源资源文件转换为所述目标项目对应的目标资源文件;
34、目标库生成模块,用于根据所述flash项目的通用库获取所述目标项目对应的目标库;
35、数据移植模块,用于将所述目标代码、功能接口、目标资源文件和目标库移植至所述目标项目。
36、本发明另一实施例提供了一种flash项目的移植系统,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的flash项目的移植方法。
37、本发明另一实施例提供了一种存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述发明实施例所述的flash项目的移植方法。
38、相比于现有技术,在本发明实施例中,通过目录结构的区分度进行代码转换,提高了转换后不同功能代码的可分离性,提高了代码移植效率;通过单独对代码、源资源文件和通用库进行适应性转换,以及对应性地调用功能接口,将完整的flash项目进行拆分转换,提高了转换效率,并在拆分转换时能够对各个转换环节中出现的问题进行单独分析处理,提高了转换问题处理效率;通过对单独转换得到的目标代码、功能接口、目标资源文件和目标库整合移植至对应的目标项目,形成了一条完整的移植链,提高了flash项目移植至新平台的完整性,避免了重新开发带来的人力和物力损耗。
1.一种flash项目的移植方法,其特征在于,包括:
2.如权利要求1所述的flash项目的移植方法,其特征在于,所述根据所述结构区分度对所述工程代码和所述引用库的库代码进行代码转换,得到所述目标项目对应的目标代码,包括:
3.如权利要求1所述的flash项目的移植方法,其特征在于,所述根据所述结构区分度对所述工程代码和所述引用库的库代码进行代码转换,得到所述目标项目对应的目标代码,还包括:
4.如权利要求1所述的flash项目的移植方法,其特征在于,所述调用所述目标项目与所述flash项目功能对应的功能接口,包括:
5.如权利要求1所述的flash项目的移植方法,其特征在于,所述将所述flash项目中的源资源文件转换为所述目标项目对应的目标资源文件,包括:
6.如权利要求1所述的flash项目的移植方法,其特征在于,所述将所述flash项目中的源资源文件转换为所述目标项目对应的目标资源文件之后,还包括:
7.如权利要求1所述的flash项目的移植方法,其特征在于,所述将所述目标代码、功能接口、目标资源文件和目标库移植至所述目标项目之后,还包括:
8.一种flash项目的移植装置,其特征在于,包括:
9.一种flash项目的移植系统,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的flash项目的移植方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的flash项目的移植方法。