一种动态加载Flash游戏素材的方法和装置转让专利

申请号 : CN201110418190.5

文献号 : CN103164235B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 田淑宁阮曙东潘东芳

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种动态加载Flash游戏素材的方法和装置,属于移动终端网页游戏领域。所述方法包括:获取需加载的素材切片的子素材标识;根据该子素材的标识获取需加载的素材切片的标识,所述需加载的素材切片的标识与所述子素材的标识成对应关系;根据所述需加载的素材切片的标识,加载所述需加载的素材切片;根据加载后的该需加载的素材切片,获取该子素材。所述装置包括:第一获取模块、第二获取模块、加载模块和第三获取模块。本发明能按照用户的需求,动态地加载素材文件,减少了游戏载入的等待时间,提升了用户体验;并且,维护人员能够局部更新素材,能够节约人力资源。

权利要求 :

1.一种动态加载Flash游戏素材的方法,其特征在于,所述方法包括:获取需加载的素材切片的子素材标识,所述Flash游戏的素材包括代码素材和用户界面UI素材,所述代码素材和所述UI素材均由子素材组成,所述素材切片是将所述素材分割得到的,所述素材切片至少包括一个子素材;

根据所述子素材的标识获取需加载的素材切片的标识,所述需加载的素材切片的标识与所述子素材的标识成对应关系;

根据所述需加载的素材切片的标识,加载所述需加载的素材切片;

根据加载后的所述需加载的素材切片,获取所述子素材。

2.根据权利要求1所述的方法,其特征在于,所述根据所述子素材的标识获取所述需加载的素材切片的标识之前,还包括:判断所述子素材是否已存在;

若已存在,则获取所述子素材。

3.根据权利要求1所述的方法,其特征在于,所述加载所述需加载的素材切片,具体包括:根据所述需加载的素材切片的标识,判断所述需加载的素材切片是否已加载;

若所述需加载的素材切片未加载,则加载所述需加载的素材切片。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述需加载的素材切片已加载,则判断所述需加载的素材切片是否有效;

若所述需加载的素材切片有效,则根据所述需加载的素材切片获取所述子素材;

若所述需加载的素材切片无效,则重新加载所述需加载的素材切片。

5.一种动态加载Flash游戏素材的装置,其特征在于,所述装置包括:第一获取模块,用于获取需加载的素材切片的子素材标识,所述Flash游戏的素材包括代码素材和用户界面UI素材,所述代码素材和所述UI素材均由子素材组成,所述素材切片是将所述素材分割得到的,所述素材切片至少包括一个子素材;

第二获取模块,用于根据所述子素材的标识获取需加载的素材切片的标识,所述需加载的素材切片的标识与所述子素材的标识成对应关系;

加载模块,用于根据所述需加载的素材切片的标识,加载所述需加载的素材切片;

第三获取模块,用于根据加载后的所述需加载的素材切片,获取所述子素材。

6.根据权利要求5所述的装置,其特征在于,所述第一获取模块还用于,判断所述子素材是否已存在;

相应地,所述第三获取模块还用于,

若所述子素材已存在,则获取所述子素材。

7.根据权利要求5所述的装置,其特征在于,所述加载模块具体包括:第一判断单元,用于根据所述需加载的素材切片的标识,判断所述需加载的素材切片是否已加载;

加载单元,用于若所述需加载的素材切片未加载,则加载所述需加载的素材切片。

8.根据权利要求7所述的装置,其特征在于,所述加载模块还包括:第二判断单元,用于若所述需加载的素材切片已加载,则判断所述需加载的素材切片是否有效;

相应地,所述第三获取模块还用于,

若所述需加载的素材切片有效,则根据所述需加载的素材切片获取所述子素材;

相应地,所述加载单元还用于,

若所述需加载的素材切片无效,则重新加载所述需加载的素材切片。

说明书 :

一种动态加载Flash游戏素材的方法和装置

技术领域

[0001] 本发明涉及移动终端网页游戏领域,特别涉及一种动态加载Flash游戏素材的方法和装置。

背景技术

[0002] Flash游戏通过Flash软件和Flash ActionScript(Flash编程脚本)制作而成,具有游戏简单,操作方便和文件体积小等优点。随着移动终端的硬件功能的提升,支持移动终端的运行平台的Flash游戏得到了大力的发展。
[0003] 移动终端运行Flash游戏时,需要加载Flash游戏的素材文件到本地。具体地,首先需要下载Flash游戏的加载程序到本地;其次再由加载程序控制加载Flash游戏的素材文件到本地。其中,加载Flash游戏的素材文件的现有方法为,Flash游戏运行时,一次性加载完整的Flash游戏的素材文件;当Flash游戏的素材文件更新后且Flash游戏再次运行时,需重新加载更新后的完整的素材文件。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 现有的加载Flash游戏的素材文件的方法是一次性加载所有的素材文件,载入的时间比较长,影响用户的体验;且Flash游戏的维护人员对部分素材文件更新后,还需要将更新后的素材文件与其他未更新的素材文件组合在一起,浪费人力。

发明内容

[0006] 为了减少游戏载入的时间,提升用户的体验;并支持素材文件的局部更新,节约人力,本发明实施例提供了一种动态加载Flash游戏素材的方法和装置。所述技术方案如下:
[0007] 一种动态加载Flash游戏素材的方法,所述方法包括:
[0008] 获取需加载的素材切片的子素材标识;
[0009] 根据所述子素材的标识获取需加载的素材切片的标识;所述需加载的素材切片的标识与所述子素材的标识成对应关系;
[0010] 根据所述需加载的素材切片的标识,加载所述需加载的素材切片;
[0011] 根据加载后的所述需加载的素材切片,获取所述子素材。
[0012] 其中,所述根据所述子素材的标识获取所述需加载的素材切片的标识之前,还包括:
[0013] 判断所述子素材是否已存在;
[0014] 若已存在,则获取所述子素材。
[0015] 其中,所述加载所述需加载的素材切片具体包括:
[0016] 根据所述需加载的素材切片的标识,判断所述需加载的素材切片是否已加载;
[0017] 若所述需加载的素材切片未加载,则加载所述需加载的素材切片。
[0018] 其中,所述方法还包括:
[0019] 若所述需加载的素材切片已加载,则判断所述需加载的素材切片是否有效;
[0020] 若所述需加载的素材切片有效,则根据所述需加载的素材切片获取所述子素材;
[0021] 若所述需加载的素材切片无效,则重新加载所述需加载的素材切片。
[0022] 一种动态加载Flash游戏素材的装置,所述装置包括:
[0023] 第一获取模块,用于获取需加载的素材切片的子素材标识;
[0024] 第二获取模块,用于根据所述子素材的标识获取需加载的素材切片的标识,所述需加载的素材切片的标识与所述子素材的标识成对应关系;
[0025] 加载模块,用于根据所述需加载的素材切片的标识,加载所述需加载的素材切片;
[0026] 第三获取模块,用于根据加载后的所述需加载的素材切片,获取所述子素材。
[0027] 其中,所述第一获取模块还用于,
[0028] 判断所述子素材是否已存在;
[0029] 相应地,所述第三获取模块还用于,
[0030] 若所述子素材已存在,则获取所述子素材。
[0031] 其中,所述加载模块具体包括:
[0032] 第一判断单元,用于根据所述需加载的素材切片的标识,判断所述需加载的素材切片是否已加载;
[0033] 加载单元,用于若所述需加载的素材切片未加载,则加载所述需加载的素材切片。
[0034] 其中,所述加载模块还包括:
[0035] 第二判断单元,用于若所述需加载的素材切片已加载,则判断所述需加载的素材切片是否有效;
[0036] 相应地,所述第三获取模块还用于,
[0037] 若所述需加载的素材切片有效,则根据所述需加载的素材切片获取所述子素材;
[0038] 相应地,所述加载单元还用于,
[0039] 若所述需加载的素材切片无效,则重新加载所述需加载的素材切片。
[0040] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加载的素材切片的子素材标识;并根据所述子素材的标识获取需加载的素材切片的标识,需加载的素材切片的标识与子素材的标识成对应关系;再根据需加载的素材切片的标识来加载素材切片;然后根据加载后的素材切片获取子素材;这样能按照用户的需求,动态地加载素材文件,减少了游戏载入的等待时间,进一步减少了用户花费的网络流量,提升了用户体验;并且,维护人员能够局部更新素材,即直接更新素材切片,不用将更新后的素材切片与其他素材切片组合,能够节约人力资源。

附图说明

[0041] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042] 图1是本发明实施例1中提供的一种动态加载Flash游戏素材的方法的流程图;
[0043] 图2是本发明实施例2中提供的一种动态加载Flash游戏素材的方法的流程图;
[0044] 图3是本发明实施例3中提供的一种动态加载Flash游戏素材的装置的结构示意图;
[0045] 图4是本发明实施例4中提供的一种动态加载Flash游戏素材的装置的结构示意图。

具体实施方式

[0046] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0047] 实施例1
[0048] 参见图1,本实施例提供了一种动态加载Flash游戏素材的方法,具体包括:
[0049] 101:获取需加载的素材切片的子素材ID(Identity,标识)。
[0050] 102:根据该子素材的ID获取需加载的素材切片的ID。
[0051] 其中,该需加载的素材切片的ID与该子素材的ID成对应关系。
[0052] 103:根据该需加载的素材切片的ID,加载该需加载的素材切片。
[0053] 104:根据加载后的该需加载的素材切片,获取该子素材。
[0054] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加载的素材切片的子素材ID,并根据该子素材的ID获取需加载的素材切片的ID,需加载的素材切片的ID与子素材的ID成对应关系;再根据需加载的素材切片的ID来加载素材切片;然后根据加载后的素材切片获取子素材;这样能按照用户的需求,动态地加载素材文件,减少了游戏载入的等待时间,进一步减少了用户花费的网络流量,提升了用户体验;并且,维护人员能够局部更新素材,即直接更新素材切片,不用将更新后的素材切片与其他素材切片组合,能够节约人力资源。
[0055] 实施例2
[0056] 为便于理解,首先介绍Flash游戏的组成。Flash游戏一般由加载程序和素材两部分组成。加载程序主要用于控制素材的加载过程。素材包括代码素材和UI(User Interface,用户界面)素材。代码素材和UI素材均由许多子素材组成。代码子素材是Flash游戏运行的程序代码,用于实现游戏的业务逻辑。UI子素材具体为图片和动画等,用于通过代码素材的逻辑呈现给用户。基于此,参见图2,本实施例提供了一种动态加载Flash游戏素材的方法的优选例,具体包括:
[0057] 201:获取需加载的素材切片的子素材的ID。
[0058] 一般来讲,Flash游戏运行时,将根据用户信息调用Flash游戏的各子素材,以实现Flash游戏自身的业务逻辑。其中,用户信息主要包括用户运行Flash游戏的唯一ID、用户的请求信息、以及其他相关信息。用户使用该用户信息进行Flash游戏的相关操作,操作的过程中将调用不同的子素材。进一步地,调用的不同子素材将在游戏客户端呈现不同的游戏内容,该游戏内容与该用户信息成对应关系,该对应关系存储在远程服务器中。
[0059] 其中,调用子素材时,首先需要获取子素材的ID。根据前述的游戏内容与用户信息的对应关系,能够获取调用的子素材的ID。以Flash游戏中的农场游戏为例,用户使用用户信息登陆农场游戏后,需要在游戏客户端为用户展示该用户信息对应的农场场景,如农场中的土地、以及土地上种植的作物。那么,将根据该用户信息与农场场景的对应关系,获取土地子素材的ID、以及土地上种植的作物子素材的ID。容易知道,不同的用户信息对应的农场场景可能是不同的。
[0060] 进一步地,子素材的ID可以用字母、数字或两者的组合表示。假设本实施例中子素材的ID用数字表示,例如,作物子素材的ID为01、02、03和05。那么,获取的子素材的ID为01、02、03和05。
[0061] 202:根据该子素材的ID,判断该子素材是否已存在。
[0062] 其中,若该子素材已存在,则执行207。
[0063] 若该子素材不存在,则执行203。
[0064] 其中,Flash游戏逻辑调用子素材后,被调用的子素材将存储于本地。获取子素材的ID后,将判断本地是否已存在该子素材。判断该子素材是否已存在,具体为,在本地查询是否存在与子素材的ID对应的子素材。若本地没有子素材的ID对应的子素材,则执行203;若本地存在子素材的ID对应的子素材,则执行207,即获取该子素材,并调用该子素材为游戏客户端呈现游戏内容。
[0065] 203:根据子素材的ID,获取对应的需加载的素材切片的ID。
[0066] 其中,该需加载的素材切片的ID与该子素材的ID成对应关系。
[0067] 其中,将Flash游戏的所有素材分割为许多素材切片。素材切片将存储在远程服务器中。素材切片至少包括一个子素材;每个素材切片都有一个唯一的ID区别于其他素材切片。并且,素材切片的ID与该素材切片中的子素材的ID成对应关系。其中,若本地不存在该子素材,则将通过加载该子素材对应的素材切片来获取该子素材。因此,将根据子素材的ID,获取对应的需加载的素材切片的ID。其中,可预先约定一定的规则,使得素材切片的ID与子素材的ID成对应关系。即可依照该对应关系,根据子素材的ID,获取需加载的素材切片的ID。例如,根据约定的规则,素材切片的ID由子素材的种类与子素材的ID组成。进一步地,作物子素材的ID为01、02、03和05,那么,这四种作物子素材对应的素材切片的ID为crop_01、crop_02、crop_03和crop_05。
[0068] 值得说明的是,素材切片可以根据子素材的功能或种类来分割。例如,代码素材根据功能可分割为APP切片、FRAME切片和LOAD切片;UI素材根据种类可分割为环境素材切片和人物素材切片等。并且,代码素材的素材切片的体积一般比UI素材的素材切片的体积小。根据移动终端网络下载的特点,UI素材的素材切片的体积小于100K。
[0069] 204:根据需加载的素材切片的ID,判断该需加载的素材切片是否已加载。
[0070] 其中,若需加载的素材切片已加载,则执行205;
[0071] 若该需加载的素材切片未加载,则执行206。
[0072] 其中,素材切片加载后,将以文件的形式存储于本地的文件Cache(缓存),方便Flash游戏逻辑调用素材切片中的子素材。由于一个素材切片包括至少一个子素材,除了本次调用的子素材外,素材切片可能还包括暂时不需调用的子素材。所以,获取需加载的素材切片的ID后,还需要查询本地的文件Cache中是否存在包括该子素材的素材切片。判断该需加载的素材切片是否已加载,具体为,在本地文件Cache中查询是否存在素材切片的ID对应的素材切片。若不存在素材切片的ID对应的素材切片,执行206;若存在素材切片的ID对应的素材切片,则执行205。
[0073] 205:判断该需加载的素材切片是否有效。
[0074] 其中,若该需加载的素材切片无效,则执行206;
[0075] 若该需加载的素材切片有效,则执行207。
[0076] 其中,本地文件Cache中存储的加载后的素材切片,都有本身的有效期。该有效期为本地Flash插件指定。在本地文件Cache中存在素材切片的ID对应的素材切片时,将判断该需加载的素材切片是否有效,具体为,若素材切片的ID对应的素材切片无效,即已经超过有效期,执行206;若素材切片的ID对应的素材切片在有效期,则执行207,即根据该需加载的素材切片,获取子素材。获取子素材后,Flash游戏逻辑将直接调用该子素材,为游戏客户端呈现该子素材的内容。
[0077] 206:根据需加载的素材切片的ID,加载该需加载的素材切片。
[0078] 其中,若本地的文件Cache没有需加载的素材切片,或在本地的文件Cache存在超过有效期的需加载的素材切片;则根据需加载的素材切片的ID,从远程服务器中加载该素材切片。加载后的素材切片,将以文件的形式存储于本地的文件Cache,Flash游戏逻辑调用素材切片中的子素材。
[0079] 值得说明的是,当因网络断开或其他原因造成的未成功完成加载该需加载的素材切片,将提示加载失败或者显示默认资源。
[0080] 207:获取该子素材。
[0081] 其中,若本地存在调用的子素材,则直接从本地获取该子素材;或,若在本地的文件Cache存在没有超过有效期的需加载的素材切片,则根据该需加载的素材切片,获取该子素材。获取该子素材后,调用该子素材在游戏游客户端呈现用户所需的游戏内容。
[0082] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加载的素材切片的子素材ID,并根据该子素材的ID获取需加载的素材切片的ID,需加载的素材切片的ID与子素材的ID成对应关系;再根据需加载的素材切片的ID来加载素材切片;然后根据加载后的素材切片获取子素材;这样能按照用户的需求,动态地加载素材文件,减少了游戏载入的等待时间,进一步减少了用户花费的网络流量,提升了用户体验;并且,维护人员能够局部更新素材,即直接更新素材切片,不用将更新后的素材切片与其他素材切片组合,能够节约人力资源。
[0083] 实施例3
[0084] 参见图3,本实施例提供了一种动态加载Flash游戏素材的装置,具体包括:
[0085] 第一获取模块301,用于获取需加载的素材切片的子素材ID。
[0086] 第二获取模块302,用于根据该子素材的ID获取需加载的素材切片的ID;其中,该需加载的素材切片的ID与该子素材的ID成对应关系。
[0087] 加载模块303,用于根据需加载的素材切片的ID,加载需加载的素材切片。
[0088] 第三获取模块304,用于根据加载后的该需加载的素材切片,获取该子素材。
[0089] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加载的素材切片的子素材ID,并根据该子素材的ID获取需加载的素材切片的ID,需加载的素材切片的ID与子素材的ID成对应关系;再根据需加载的素材切片的ID来加载素材切片;然后根据加载后的素材切片获取子素材;这样能按照用户的需求,动态地加载素材文件,减少了游戏载入的等待时间,进一步减少了用户花费的网络流量,提升了用户体验;并且,维护人员能够局部更新素材,即直接更新素材切片,不用将更新后的素材切片与其他素材切片组合,能够节约人力资源。
[0090] 实施例4
[0091] 参见图4,本实施例提供了一种动态加载Flash游戏素材的装置的优选例,具体包括:
[0092] 第一获取模块401,用于获取需加载的素材切片的子素材ID。
[0093] 第二获取模块402,用于根据该子素材的ID获取需加载的素材切片的ID;其中,该需加载的素材切片的ID与该子素材的ID成对应关系。
[0094] 加载模块403,用于根据需加载的素材切片的ID,加载需加载的素材切片。
[0095] 其中,加载模块403具体包括:
[0096] 第一判断单元4031,用于根据需加载的素材切片的ID,判断需加载的素材切片是否已加载;
[0097] 加载单元4032,用于若需加载的素材切片未加载,则加载需加载的素材切片。
[0098] 第二判断单元4033,用于若需加载的素材切片已加载,则判断需加载的素材切片是否有效。
[0099] 其中,加载单元4032还用于,若需加载的素材切片无效,则重新加载需加载的素材切片。
[0100] 第三获取模块404,用于根据加载后的该需加载的素材切片,获取该子素材。
[0101] 相应地,所述第三获取模块404还用于,若需加载的素材切片有效,则根据需加载的素材切片获取子素材。
[0102] 其中,第一获取模块401还用于,根据子素材的ID,判断子素材是否已存在。
[0103] 相应地,第二获取模块402还用于,若子素材不存在,则根据子素材的ID获取对应的需加载的素材切片的ID。
[0104] 相应地,所述第三获取模块404还用于,若子素材已存在,则获取子素材。
[0105] 本发明实施例提供的技术方案带来的有益效果是:通过获取需加载的素材切片的子素材ID,并根据该子素材的ID获取需加载的素材切片的ID,需加载的素材切片的ID与子素材的ID成对应关系;再根据需加载的素材切片的ID来加载素材切片;然后根据加载后的素材切片获取子素材;这样能按照用户的需求,动态地加载素材文件,减少了游戏载入的等待时间,进一步减少了用户花费的网络流量,提升了用户体验;并且,维护人员能够局部更新素材,即直接更新素材切片,不用将更新后的素材切片与其他素材切片组合,能够节约人力资源。
[0106] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0107] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。