CN106815004A - 一种兼容不同Cocos2d-x版本的方法 - Google Patents

一种兼容不同Cocos2d-x版本的方法 Download PDF

Info

Publication number
CN106815004A
CN106815004A CN201510864827.1A CN201510864827A CN106815004A CN 106815004 A CN106815004 A CN 106815004A CN 201510864827 A CN201510864827 A CN 201510864827A CN 106815004 A CN106815004 A CN 106815004A
Authority
CN
China
Prior art keywords
cocos
versions
project
version
same name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510864827.1A
Other languages
English (en)
Other versions
CN106815004B (zh
Inventor
陈昊芝
刘冠群
张晓龙
谢鑫
范力
张�成
刘北辰
刘关强
朱亮
郭建强
肖峰
张东猛
韩东涛
郭伦昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Yaji Software Co Ltd
Original Assignee
Beijing Chukong Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Chukong Technology Co Ltd filed Critical Beijing Chukong Technology Co Ltd
Priority to CN201510864827.1A priority Critical patent/CN106815004B/zh
Publication of CN106815004A publication Critical patent/CN106815004A/zh
Application granted granted Critical
Publication of CN106815004B publication Critical patent/CN106815004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于兼容不同Cocos2d-x版本的方法,首先通过获取所有与项目和Cocos编辑器兼容的Cocos2d-x版本对项目与Cocos编辑器可以使用的Cocos2d-x进行控制,避免了项目开发过程中Cocos2d-x版本不兼容的问题,增强了项目的稳定性;其次,给出了自动升级Cocos2d-x版本的方法,通过调用由服务类提供的引擎库完成Cocos2d-x版本的升级,省去了手动更换引擎文件的繁琐,同时降低了技术门槛和差错率。

Description

一种兼容不同Cocos2d-x版本的方法
技术领域
本发明涉及手机游戏引擎技术领域,具体涉及一种兼容不同Cocos2d-x版本的方法。
背景技术
Cocos 2d-x是一个支持多平台的2D手机游戏引擎,使用Cocos 2d-x进行开发可以很容易地将项目建立和运行在iOS,Android,黑莓Blackberry等操作系统中。
Cocos 2d-x具有不同的版本,因此在开发游戏的过程中将会面临引擎版本管理的问题,例如创建基于不同引擎版本的项目、升级现有项目的引擎版本等。与此同时,因为不同引擎版本之间存在很多差异,在使用时还需要考虑引擎版本与当前项目、与使用的编辑器之间的兼容性问题。
现有技术需要通过手动替换引擎文件的方式来管理项目的Cocos 2d-x版本,它要求技术人员对引擎文件的结构、使用方式有较为详细的了解。这种管理方式在实际兼容引擎版本时的操作也较为繁琐,而且替换引擎文件的过程一旦出错,将会导致游戏项目无法使用。此外,这种方式并不能有效地控制Cocos 2d-x版本的兼容性问题,如果错误地使用了与项目或编辑器不兼容的Cocos 2d-x版本,也将导致项目无法正常运作,从而降低项目开发的稳定性。
综上,现有方法在兼容不同Cocos 2d-x版本时具有技术门槛高、操作复杂、差错率高等问题。此外,项目或编辑器对Cocos 2d-x版本的约束控制也较差,从而导致项目开发的稳定性差。
发明内容
本发明提供了一种兼容不同Cocos 2d-x版本的方法,以解决现有技术中兼容不同Cocos 2d-x版本时存在的技术难度高、操作复杂、差错率高、稳定性差的问题。
本发明提供的一种兼容不同Cocos 2d-x 版本的方法,包括如下步骤:
S1:Cocos编辑器获取可用的Cocos 2d-x 版本;
S2:Cocos编辑器使用所述可用的Cocos 2d-x 版本进行创建项目、Cocos 2d-x 版本升级、打包发布。
进一步的,所述Cocos编辑器获取可用的Cocos 2d-x 版本,具体为:
S11:FrameworkHelper类通过硬编码的方式内置当前所有兼容的Cocos 2d-x版本,并使用当前所有兼容的Cocos 2d-x版本完成初始化;
S12:FrameworkHelper类向服务器请求当前最新的Cocos 2d-x版本列表,当请求成功的时候,FrameworkHelper类便使用从服务器获得的当前最新的Cocos 2d-x版本列表作为支持版本列表,同时将所述支持列表以配置文件的形式存储到本地硬盘;
S13:FrameworkHelper类检测本地安装了哪些Cocos 2d-x版本,并将本地已经安装且包含在所述支持版本列表中的Cocos 2d-x版本作为可用的Cocos 2d-x版本。
进一步的,所述Cocos编辑器使用所述可用的Cocos 2d-x 版本进行Cocos 2d-x版本升级,包括两种类型的操作:
将Cocos编辑器中的资源项目升级为完整项目或升级完整项目中Cocos 2d-x的版本。
更进一步的,所述将Cocos编辑器中的资源项目升级为完整项目,具体为:
服务类使用所选定的Cocos 2d-x版本在另一位置创建一个与资源项目同名的项目,所述同名的项目中包含了由所有需要的Cocos 2d-x版本构成的引擎库文件;
将所述同名的项目中的引擎库文件复制到原有项目的对应目录下,完成后再将所述同名的项目删除。
更进一步的,所述升级完整项目中Cocos 2d-x的版本,具体为:
服务类使用所选定的Cocos 2d-x版本在另一位置创建一个与完整项目同名的项目,所述同名的项目中包含了由所有需要的Cocos 2d-x版本构成的引擎库文件;
用所述同名的项目中的引擎库文件覆盖原有项目的对应目录下的引擎库文件,完成后再将所述同名的项目删除。
优选的,所述升级完整项目中Cocos 2d-x的版本,具体为:
执行命令行工具Console所提供的upgrade命令。
本发明的有益技术效果为:
本发明首先通过获取所有与项目和Cocos编辑器兼容的Cocos 2d-x版本对项目与Cocos编辑器可以使用的Cocos 2d-x进行控制,避免了项目开发过程中Cocos 2d-x 版本不兼容的问题,增强了项目的稳定性;其次,本发明给出了自动升级Cocos 2d-x版本的方法,通过调用由服务类提供的引擎库即可完成Cocos 2d-x 版本的升级,省去了手动更换引擎文件的繁琐,同时降低了技术门槛和差错率。
附图说明
图1是本发明实施例提供的兼容不同Cocos 2d-x版本的方法流程图;
图2是本发明实施例提供的Cocos 2.3.2版本创建项目界面的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,不能理解为对本发明具体保护范围的限定。
本实施例提供的一种兼容不同Cocos 2d-x 版本的方法,包括如下步骤:
如图1所示,第一步为Cocos编辑器获取可用的Cocos 2d-x 版本。
版本管理的功能代码包含在FrameworkHelper类当中。这个类位于CocoStudio.Projects项目,它主要负责对外提供当前Cocos编辑器所可以使用的Cocos2d-x版本。Cocos编辑器只能使用由FrameworkHelper所提供的Cocos 2d-x来进行创建项目、升级引擎、打包发布等操作,而FrameworkHelper所提供的Cocos 2d-x版本都是与当前Cocos编辑器相兼容的版本,这样便可以保证在使用Cocos 2d-x的过程中不会出现兼容性的问题。
FrameworkHelper类通过硬编码的方式内置了当前所有兼容的Cocos 2d-x版本号。当Cocos编辑器启动的时候,会把这些版本号作为初始的支持版本列表。因为Cocos 2d-x在Cocos编辑器发布之后还会陆续发布新的版本,只靠硬编码的方式并不能获取到最新发布的Cocos 2d-x兼容版本号。所以当FrameworkHelper类在使用硬编码的版本列表完成了初始化之后,会尝试连接服务器,向服务器请求当前最新的版本列表。当请求成功的时候,FrameworkHelper类便使用从服务器获得的最新的版本列表作为支持版本列表,同时将该支持版本列表以配置文件的形式存储到本地硬盘。这样当电脑处于网络断开的状态下的时候,FrameworkHelper类也可以通过该配置文件获取到正常支持版本列表。
执行完上述步骤后,FrameworkHelper类已经获得了所有支持的Cocos 2d-x版本。之后FrameworkHelper类开始检测本地安装了哪些Cocos 2d-x版本。只有在本地已经安装,且包含在支持版本列表中的Cocos 2d-x版本才是可用的Cocos 2d-x版本。
如图2所示是本实施例提供的Cocos 2.3.2编辑器创建项目界面的截图,图中的下拉框中显示了创建项目时所可以选择的Cocos 2d-x的版本。在本实施例中,Cocos编辑器首先从服务器获取到了它所支持的Cocos 2d-x版本列表,具体列表如下:
<FrameworkVersion="cocos2d-x-3.4"/>
<FrameworkVersion="cocos2d-x-3.5"/>
<FrameworkVersion="cocos2d-x-3.6"/>
<FrameworkVersion="cocos2d-x-3.7"/>
<FrameworkVersion="cocos2d-x-3.7.1"/>
而该实施例的本地只安装了Cocos 2d-x的3.6版本以及3.7.1版本,因此可用的Cocos2d-x 版本为3.6版本以及3.7.1版本,创建项目时只可以从“无”,“3.6”以及“3.7.1”这三个选项中进行选择,保证了创建的项目以及cocos编辑器与Cocos 2d-x版本的兼容性(如果选择“无”,则创建出来的项目为不带有引擎的资源项目)。
如图1所示,第二步为Cocos编辑器使用所述可用的Cocos 2d-x 版本进行创建项目、Cocos 2d-x 版本升级、打包发布。
所述Cocos编辑器使用所述可用的Cocos 2d-x 版本进行Cocos 2d-x 版本升级,由Modules.Communal.CocosAdapter项目负责,包括两种类型的操作:
将Cocos编辑器中的资源项目升级为完整项目或升级完整项目中Cocos 2d-x的版本。
Cocos编辑器中使用的项目有两种类型,分别是资源项目与完整项目,它们之间的区别在于项目中是否包含了Cocos 2d-x引擎库文件——不包含引擎库文件的项目为资源项目,包含了引擎库文件的项目为完整项目。资源项目可以使用步骤一中所提供的可用的Cocos 2d-x版本来升级为完整项目,这一升级操作的功能由CocosAdapter项目中的Cocos2dxSupplymentServices服务类来提供。
所述将Cocos编辑器中的资源项目升级为完整项目,具体为:
服务类使用所选定的Cocos 2d-x版本在另一位置创建一个与资源项目同名的项目,所述同名的项目中包含了由所有需要的Cocos 2d-x版本构成的引擎库文件;
将所述同名的项目中的引擎库文件复制到原有项目的对应目录下,完成后再将所述同名的项目删除。这样原有的资源项目中便具有了它所需要的引擎库文件,成为了完整项目。
更进一步的,所述升级完整项目中Cocos 2d-x的版本,具体为:
服务类使用所选定的Cocos 2d-x版本在另一位置创建一个与完整项目同名的项目,所述同名的项目中包含了由所有需要的Cocos 2d-x版本构成的引擎库文件;
与升级资源项目时所不同的是,此时完整项目中对应的目录下已经存在了同名的引擎库文件,因此需要用所述同名的项目中的引擎库文件覆盖原有项目的对应目录下的引擎库文件,完成后再将所述同名的项目删除。
实施例二:
实施例一中升级完整项目中Cocos 2d-x的版本,还可以采用如下方法:
Cocos Framework附带有命令行工具Console。在Cocos 2d-x 3.6及之后的版本中,命令行工具Console提供了upgrade命令。执行该命令后,命令行工具Console也会升级完整项目中Cocos 2d-x的版本,即:先在其它位置创建一个新的同名项目,然后将新的同名项目中的引擎库文件复制到原有项目目录下。

Claims (6)

1.一种兼容不同Cocos 2d-x 版本的方法,其特征在于,包括如下步骤:
S1:Cocos编辑器获取可用的Cocos 2d-x 版本;
S2:Cocos编辑器使用所述可用的Cocos 2d-x 版本进行创建项目、Cocos 2d-x 版本升级、打包发布。
2.根据权利要求1所述的一种兼容不同Cocos 2d-x 版本的方法,其特征在于,所述Cocos编辑器获取可用的Cocos 2d-x 版本,具体为:
S11:FrameworkHelper类通过硬编码的方式内置当前所有兼容的Cocos 2d-x版本,并使用当前所有兼容的Cocos 2d-x版本完成初始化;
S12:FrameworkHelper类向服务器请求当前最新的Cocos 2d-x版本列表,当请求成功的时候,FrameworkHelper类便使用从服务器获得的当前最新的Cocos 2d-x版本列表作为支持版本列表,同时将所述支持列表以配置文件的形式存储到本地硬盘;
S13:FrameworkHelper类检测本地安装了哪些Cocos 2d-x版本,并将本地已经安装且包含在所述支持版本列表中的Cocos 2d-x版本作为可用的Cocos 2d-x版本。
3.根据权利要求1所述的一种兼容不同Cocos 2d-x 版本的方法,其特征在于,所述Cocos编辑器使用所述可用的Cocos 2d-x 版本进行Cocos 2d-x 版本升级,包括两种类型的操作:
将Cocos编辑器中的资源项目升级为完整项目或升级完整项目中Cocos 2d-x的版本。
4.根据权利要求3所述的一种兼容不同Cocos 2d-x 版本的方法,其特征在于,所述将Cocos编辑器中的资源项目升级为完整项目,具体为:
服务类使用所选定的Cocos 2d-x版本在另一位置创建一个与资源项目同名的项目,所述同名的项目中包含了由所有需要的Cocos 2d-x版本构成的引擎库文件;
将所述同名的项目中的引擎库文件复制到原有项目的对应目录下,完成后再将所述同名的项目删除。
5.根据权利要求3所述的一种兼容不同Cocos 2d-x 版本的方法,其特征在于,所述升级完整项目中Cocos 2d-x的版本,具体为:
服务类使用所选定的Cocos 2d-x版本在另一位置创建一个与完整项目同名的项目,所述同名的项目中包含了由所有需要的Cocos 2d-x版本构成的引擎库文件;
用所述同名的项目中的引擎库文件覆盖原有项目的对应目录下的引擎库文件,完成后再将所述同名的项目删除。
6.根据权利要求3所述的一种兼容不同Cocos 2d-x 版本的方法,其特征在于,所述升级完整项目中Cocos 2d-x的版本,具体为:
执行命令行工具Console所提供的upgrade命令。
CN201510864827.1A 2015-12-01 2015-12-01 一种兼容不同Cocos2d-x版本的方法 Active CN106815004B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510864827.1A CN106815004B (zh) 2015-12-01 2015-12-01 一种兼容不同Cocos2d-x版本的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510864827.1A CN106815004B (zh) 2015-12-01 2015-12-01 一种兼容不同Cocos2d-x版本的方法

Publications (2)

Publication Number Publication Date
CN106815004A true CN106815004A (zh) 2017-06-09
CN106815004B CN106815004B (zh) 2021-03-02

Family

ID=59108000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510864827.1A Active CN106815004B (zh) 2015-12-01 2015-12-01 一种兼容不同Cocos2d-x版本的方法

Country Status (1)

Country Link
CN (1) CN106815004B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733378A (zh) * 2018-05-22 2018-11-02 武汉微派网络科技有限公司 支持多个原生Cocos游戏接入到安卓应用平台的方法
CN111651194A (zh) * 2020-06-05 2020-09-11 京东方科技集团股份有限公司 基于iOS的适配方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483556A (zh) * 2009-01-06 2009-07-15 中兴通讯股份有限公司 交换机远程目标端自动升级方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483556A (zh) * 2009-01-06 2009-07-15 中兴通讯股份有限公司 交换机远程目标端自动升级方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EDDY: "CocoStudio v1.3版本的重要声明", 《HTTPS://FORUM.COCOS.ORG/T/COCOSTUDIO-V1-3/6898》 *
HANREA: "Cocos Studio项目、资源管理", 《HTTP://WWW.COCOACHINA.COM/BBS/READ.PHP?TID=195822》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733378A (zh) * 2018-05-22 2018-11-02 武汉微派网络科技有限公司 支持多个原生Cocos游戏接入到安卓应用平台的方法
CN111651194A (zh) * 2020-06-05 2020-09-11 京东方科技集团股份有限公司 基于iOS的适配方法及装置
CN111651194B (zh) * 2020-06-05 2023-10-24 京东方科技集团股份有限公司 基于iOS的适配方法及装置

Also Published As

Publication number Publication date
CN106815004B (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
US10824411B2 (en) Install file size optimization and installation verification system
CN107515776B (zh) 业务不间断升级方法、待升级节点和可读存储介质
CN105373396B (zh) 插件平台中的插件更新加载方法和装置
CN102622241B (zh) 一种软件升级方法及装置
CN104142847B (zh) 云计算环境下的无状态化虚拟机及其应用
CA2724532C (en) Enhanced upgrade path
CN104918114B (zh) 一种操作系统升级方法及装置
CN106445663A (zh) 应用数据的迁移方法及装置
CN106603725A (zh) 一种企业云服务虚拟镜像管理服务的实现方法
US10338910B2 (en) Multi-tenant upgrading
CN107992355A (zh) 一种部署应用软件的方法、装置及虚拟机
CN103327108B (zh) 一种基于云的跨平台的软件管理平台及其构建方法
CN106533719A (zh) 一种实现集群部署的方法及系统
CN102360299B (zh) 软件系统重装方法、服务器以及客户端
CN108021427A (zh) 基于Docker的信息系统部署及升级管理方法
CN105867962A (zh) 系统升级的方法和装置
CN101951604A (zh) 一种增值业务处理方法和装置
JPH08137768A (ja) 遠隔配布管理ネットワークシステム
WO2016082450A1 (zh) 一种用户终端的升级方法和用户终端
WO2020199543A1 (zh) 适用于混合模式应用的发布升级的方法及装置、智能设备
CN1881891A (zh) 通信设备配置数据的存储方法
CN106815004A (zh) 一种兼容不同Cocos2d-x版本的方法
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
EP2244417B1 (en) Method, system and apparatus for processing component installation
CN102710433A (zh) 一种在线升级处理方法、相关装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20171206

Address after: 200436 room 287K, No. 668, Baoshan District Road, Shanghai

Applicant after: Shanghai touch technology development Co., Ltd.

Address before: 100102 No. 1, Wangjing SOHO tower, No. 1, Wangjing East Street, Chaoyang District, Beijing

Applicant before: BEIJING CHUKONG TECHNOLOGY CO., LTD.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200827

Address after: Unit 3, unit 607, 6 / F, Chuangye building, 1302 Jimei Avenue, phase III, Xiamen Software Park, Fujian Province

Applicant after: XIAMEN YAJI SOFTWARE Co.,Ltd.

Address before: 200436 room 287K, No. 668, Baoshan District Road, Shanghai

Applicant before: Shanghai touch technology development Co.,Ltd.

GR01 Patent grant
GR01 Patent grant