CN114259730A - 一种Cocos预制体的高效率导出方法、系统及介质 - Google Patents
一种Cocos预制体的高效率导出方法、系统及介质 Download PDFInfo
- Publication number
- CN114259730A CN114259730A CN202111593132.6A CN202111593132A CN114259730A CN 114259730 A CN114259730 A CN 114259730A CN 202111593132 A CN202111593132 A CN 202111593132A CN 114259730 A CN114259730 A CN 114259730A
- Authority
- CN
- China
- Prior art keywords
- layer
- file
- program
- cocos
- preform
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种Cocos预制体的高效率导出方法、系统及介质,所述方法包括以下步骤:配置方法包,获取PS文件,基于所述方法包和所述PS文件生成若干第一待处理图层;配置处理程序包,创建根节点,基于所述处理程序包、所述根节点和若干所述第一待处理图层执行循环遍历处理操作,得到第一程序文件;配置Cocos引擎,基于所述处理程序包、所述第一程序文件和所述Cocos引擎执行界面搭建操作;本发明能够快速的从PS文件中直接导出Cocos预制体,减少切图和界面搭建的工作量,同时可以根据准确的位置信息和尺寸信息系进行界面元素布局搭建,进一步提高了预制体导出的还原度,提高了游戏开发质量和开发效率。
Description
技术领域
本发明涉及游戏开发技术领域,特别是涉及一种Cocos预制体的高效率导出方法、系统及介质。
背景技术
现有技术中,使用Cocos Creator进行游戏开发时,根据美术人员所设计的界面进行Cocos Creator预制体搭建,是极其关键的开发环节;而在此开发环节中,存在以下问题降低了游戏开发的质量:
第一方面,美术人员的切图过程以及客户端人员基于切图搭建游戏界面的过程,机械重复度高,反复执行会消耗大量的时间和人工成本,降低了游戏开发效率;
第二方面,客户端人员的界面搭建过程仅能以设计图为依据,没有准确的设计图上元素的坐标信息或位置信息对元素进行精准定位,为了防止再度消耗大量时间,故在不采用辅助标注工具的情况下,会导致界面搭建的还原度较低,影响游戏开发质量;
综上所述,现有的Cocos Creator预制体搭建方法会消耗大量的时间和人工成本,且其会在一定程度上影响游戏的开发质量。
发明内容
本发明主要解决的是现有的Cocos Creator预制体搭建方法会消耗大量的时间和人工成本,且其会在一定程度上影响游戏开发质量的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种Cocos预制体的高效率导出方法,包括以下步骤:
第一图层生成步骤:
配置方法包,获取PS文件,基于所述方法包和所述PS文件生成若干第一待处理图层;
程序文件生成步骤:
配置处理程序包,创建根节点,基于所述处理程序包、所述根节点和若干所述第一待处理图层执行循环遍历处理操作,得到第一程序文件;
程序文件调用步骤:
配置Cocos引擎,基于所述处理程序包、所述第一程序文件和所述Cocos引擎执行界面搭建操作。
作为一种改进的方案,所述方法包中配置有第一方法;
所述处理程序包中配置有图层裁剪程序、图层识别程序、序列化程序和反序列化程序;
所述根节点中配置有若干子节点数组,所述子节点数组中设置有位置信息存放字符位和尺寸信息存放字符位。
所述Cocos引擎中配置有预制体创建接口和预制体填充接口。
作为一种改进的方案,所述基于所述方法包和所述PS文件生成若干第一待处理图层的步骤进一步包括:
导出所述PS文件的第一图片文件和第一图层布局文件;调用所述第一方法生成所述第一图片文件的第一副本文件;基于所述第一图层布局文件识别所述第一副本文件的若干子图层;设定若干所述子图层分别为若干所述第一待处理图层。
作为一种改进的方案,所述循环遍历处理操作包括:
设置透明度阈值;统计若干所述第一待处理图层的第一数量;对若干所述第一待处理图层分别进行隐藏处理,得到若干隐藏子图层;按照所述第一数量在若干所述子节点数组中选取若干第一子节点数组;
基于所述图层裁剪程序、所述图层识别程序、所述透明度阈值和若干所述第一子节点数组分别对若干所述隐藏子图层执行图层处理步骤,得到若干图层信息数组;
创建空节点对象,将若干所述图层信息数组置入所述空节点对象,得到待序列化层级结构对象;调用所述序列化程序对所述待序列化层级结构对象进行序列化处理,得到所述第一程序文件。
作为一种改进的方案,所述图层处理步骤包括:
显示所述隐藏子图层,得到显示子图层;
设置图层划分单位,按照所述图层划分单位在所述显示子图层上划分出若干子图层区域;调用所述图层识别程序识别若干所述子图层区域所分别对应的若干第一透明度;
比对所述透明度阈值和若干所述第一透明度,设定达到所述透明度阈值的所述第一透明度所对应的所述子图层区域为待裁剪区域;
调用所述图层裁剪程序将所述显示子图层上对应所述待裁剪区域的图层进行移除;设定移除所述待裁剪区域后的所述显示子图层为第一待识别图层;
基于所述图层识别程序、所述第一子节点数组和所述第一待识别图层执行信息识别步骤,得到所述图层信息数组。
作为一种改进的方案,所述信息识别步骤包括:
调用所述图层识别程序识别所述第一待识别图层的第一图层尺寸信息;在所述第一副本文件中建立第一坐标系;调用所述图层识别程序基于所述第一坐标系识别所述第一待识别图层位于所述第一副本文件中的第一图层坐标信息;得到所述第一图层尺寸信息和所述第一图层坐标信息后,对所述第一待识别图层进行所述隐藏处理;
设定所述第一图层坐标信息为第一图层位置信息;识别所述第一子节点数组中的第一位置信息存放字符位和第一尺寸信息存放字符位;首先将所述第一图层位置信息置入所述第一位置信息存放字符位中,然后将所述第一图层尺寸信息置入所述第一尺寸信息存放字符位中,得到所述图层信息数组。
作为一种改进的方案,所述界面搭建操作包括:
访问所述Cocos引擎的开发编辑器;调用所述预制体创建接口在所述开发编辑器中创建初始预制体;读取所述第一程序文件,并调用所述反序列化程序对所述第一程序文件进行反序列化处理,得到待识别层级结构对象;
调用所述预制体填充接口按照所述待识别层级结构对象中的若干所述第一图层位置信息和若干所述第一图层尺寸信息在所述初始预制体中填充若干层级节点;基于若干所述层级节点在所述初始预制体中构建若干界面元素。
作为一种改进的方案,所述第一方法为duplicate方法;
所述第一图片文件的图片格式为PNG格式;
所述第一程序文件为Json文件。
本发明还提供一种Cocos预制体的高效率导出系统,包括:
图层生成模块、程序文件生成模块和预制体构建模块;
所述图层生成模块用于配置方法包和获取PS文件,所述图层生成模块基于所述方法包和所述PS文件生成若干第一待处理图层;
所述程序文件生成模块用于配置处理程序包和创建根节点,所述程序文件生成模块基于所述处理程序包、所述根节点和若干所述第一待处理图层执行循环遍历处理操作,得到第一程序文件;
所述预制体构建模块用于配置Cocos引擎,所述预制体构建模块基于所述处理程序包、所述第一程序文件和所述Cocos引擎执行界面搭建操作,得到第一预制体。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述Cocos预制体的高效率导出方法的步骤。
本发明的有益效果是:
1、本发明所述的Cocos预制体的高效率导出方法,可以实现快速的从PS文件中直接导出Cocos预制体,减少切图和界面搭建的工作量,同时可以根据准确的位置信息和尺寸信息系进行界面元素布局搭建,进一步提高了预制体导出的还原度,提高了游戏开发质量和开发效率,弥补了现有技术的不足,具有一定的应用价值。
2、本发明所述的Cocos预制体的高效率导出系统,可以通过图层生成模块、程序文件生成模块和预制体构建模块的相互配合,进而实现快速的从PS文件中直接导出Cocos预制体,减少切图和界面搭建的工作量,同时可以根据准确的位置信息和尺寸信息系进行界面元素布局搭建,进一步提高了预制体导出的还原度,提高了游戏开发质量和开发效率,弥补了现有技术的不足,具有一定的应用价值。
3、本发明所述的计算机可读存储介质,可以实现引导图层生成模块、程序文件生成模块和预制体构建模块进行配合,进而实现快速的从PS文件中直接导出Cocos预制体,减少切图和界面搭建的工作量,同时可以根据准确的位置信息和尺寸信息系进行界面元素布局搭建,进一步提高了预制体导出的还原度,提高了游戏开发质量和开发效率,弥补了现有技术的不足,具有一定的应用价值,并有效提高所述Cocos预制体的高效率导出方法的可操作性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1所述Cocos预制体的高效率导出方法的流程图;
图2是本发明实施例1所述Cocos预制体的高效率导出方法的具体流程示意图;
图3是本发明实施例2所述Cocos预制体的高效率导出系统的架构图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
在本发明的描述中,需要说明的是,本发明所描述的实施例是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,本实施例1提供的一种Cocos预制体的高效率导出方法应用于Cocos预制体导出过程中对应设计流程、切图流程以及界面搭建流程的相关步骤;
在本发明的描述中,需要说明的是:Cocos Creator是一种游戏开发引擎;PS(Photoshop)是图像处理程序;PNG是一种采用无损压缩算法的位图格式。
实施例1
本实施例提供一种Cocos预制体的高效率导出方法,如图1和图2所示,包括以下步骤:
S100、第一图层生成步骤,具体包括:
S110、配置方法包,获取PS文件,基于所述方法包和所述PS文件生成若干第一待处理图层;
具体的,所述方法包中配置有第一方法;在本实施例中,方法包根据编程语言适应性配置,在本实施例中,所述第一方法为duplicate方法,用于生成文档的副本形式;
具体的,导出所述PS文件的第一图片文件和第一图层布局文件;第一图片文件即为PS的设计界面中各个元素对应的图片资源根据各个元素在界面中的布局方式所进行整合出的具有特定布局设计的图片文件;第一图层布局文件对应第一图片文件中各个元素所对应图片的图层之间的位置信息、尺寸信息、对应的图片信息以及元素的结构信息等;调用所述第一方法生成所述第一图片文件的第一副本文件,后续对第一副本文件进行所有操作,防止污染原文件;基于所述第一图层布局文件识别所述第一副本文件的若干子图层,若干子图层即为第一副本文件中对应上述各个元素的图片所对应的若干图层;设定若干所述子图层分别为若干所述第一待处理图层;若干所述第一待处理图层即为后续需要进行信息识别和遍历的图层;在本实施例中,导出的所述第一图片文件的图片格式为PNG格式,进而提高本方法的适用范围和导出效率。
对应的,步骤S100中的部分核心JSX代码如下:
/** 导出具体图层 */
function doExportArtLayer(artLayer) {
if (artLayer.kind == LayerKind.SMARTOBJECT &&artLayer.name.indexOf('_content') == 0) {
return doExportSmartObject(artLayer);
}
var node = new Node(artLayer);
artLayer.visible = true;
node.onExportPNG(duppedPsd.duplicate());
artLayer.visible = false;
return node;
}
S200、程序文件生成步骤,具体包括:
S210、配置处理程序包,创建根节点,基于所述处理程序包、所述根节点和若干所述第一待处理图层执行循环遍历处理操作,得到第一程序文件;在本实施例中,处理程序包基于编程语言的不同以及开发环境的不同进行适应性配置;根节点在本实施例中为一个Node对象,该Node对象为自定义的类,其中包括但不限于位置信息、尺寸信息和子节点属性信息等;
具体的,所述处理程序包中配置有图层裁剪程序、图层识别程序、序列化程序和反序列化程序;图层裁剪程序用于对副本文件中的图层进行修剪裁剪处理;图层识别程序用于确认副本文件中图层的相关位置信息和尺寸信息等;序列化程序用于将经过本步骤处理后的Node对象转换为可执行的Json文件;反序列化程序为将Json文件恢复为可执行对象;
具体的,所述根节点中配置有若干子节点数组,每个所述子节点数组中设置有位置信息存放字符位和尺寸信息存放字符位;子节点数组中放置图层中所识别出的相关信息;
具体的,所述循环遍历处理操作包括:
设置透明度阈值;在本实施例中,透明度阈值即为图层中显示为透明的图层区域所对应的透明度值;统计若干所述第一待处理图层的第一数量;对若干所述第一待处理图层分别进行隐藏处理,得到若干隐藏子图层,隐藏处理即为先将第一待处理图层进行隐藏;按照所述第一数量在若干所述子节点数组中选取若干第一子节点数组,即若干第一子节点数组的数量为该第一数量,分别与若干所述子节点数组对应;
基于所述图层裁剪程序、所述图层识别程序、所述透明度阈值和若干所述第一子节点数组分别对若干所述隐藏子图层执行图层处理步骤,得到若干图层信息数组;在本步骤中,图层处理步骤对每个隐藏子图层分别同时进行,进一步提高处理效率;创建空节点对象,空节点对象与Node对象属性相同,用于存放处理后得到的图层信息数组;对应的,将若干所述图层信息数组置入所述空节点对象,得到待序列化层级结构对象,待序列化层级结构对象即为可以在后续步骤中作为依据进行预制体构建的层级结构布局标准信息系;调用所述序列化程序对所述待序列化层级结构对象进行序列化处理,得到所述第一程序文件;序列化处理即为编程语言中所常用的序列化处理操作,将执行对象转换为字节序列,在本实施例中,第一程序文件为Json文件;
具体的,对每个隐藏子图层均执行的所述图层处理步骤的具体步骤包括:
将进行隐藏的所述隐藏子图层进行显示出来,得到显示子图层;
设置图层划分单位,在本实施例中,为了提高精准度,图层划分单位为一个像素单位;按照所述图层划分单位在所述显示子图层上划分出若干子图层区域;调用所述图层识别程序识别若干所述子图层区域所分别对应的若干第一透明度;比对所述透明度阈值和若干所述第一透明度,设定达到所述透明度阈值的所述第一透明度所对应的所述子图层区域为待裁剪区域;即达到所述透明度阈值的所述子图层区域为显示子图层上的透明部分,需要裁剪掉;故调用所述图层裁剪程序将所述显示子图层上对应所述待裁剪区域的图层进行移除;设定移除所述待裁剪区域后的所述显示子图层为第一待识别图层;基于所述图层识别程序、所述第一子节点数组和所述第一待识别图层执行信息识别步骤,得到所述图层信息数组。
具体的,所述信息识别步骤包括:
调用所述图层识别程序识别所述第一待识别图层的第一图层尺寸信息,第一图层尺寸信息即确认了该第一待识别图层的图层大小;在所述第一副本文件中建立第一坐标系,在本实施例中第一坐标系为具有x轴和y轴的2D坐标系,对应的,第一坐标系根据第一副本文件所对应的图像资源类型进行适配性设置;调用所述图层识别程序基于所述第一坐标系识别所述第一待识别图层位于所述第一副本文件中的第一图层坐标信息;得到所述第一图层尺寸信息和所述第一图层坐标信息后,对所述第一待识别图层进行所述隐藏处理,即继续将该识别完毕的第一待识别图层隐藏;故设定所述第一图层坐标信息为该第一待识别图层的第一图层位置信息;识别所述第一子节点数组中的第一位置信息存放字符位和第一尺寸信息存放字符位;首先将所述第一图层位置信息置入所述第一位置信息存放字符位中,然后将所述第一图层尺寸信息置入所述第一尺寸信息存放字符位中,得到所述图层信息数组;故在本实施例中,对每个隐藏子图层都进行了该图层处理步骤,进而实现了对每个隐藏子图层的递归遍历,实现完整的信息识别和整合;
具体的,步骤S200的部分核心JSX代码如下:
/** 设置图层及其子图层是否可见 */
function setCascadeVisible(obj, visible) {
obj.visible = visible;
if (obj.layers) {
for (var i = 0; i < obj.layers.length; i++) {
setCascadeVisible(obj.layers[i], visible);
}
}
}
S300、程序文件调用步骤,具体包括:
S310、配置Cocos引擎,基于所述处理程序包、所述第一程序文件和所述Cocos引擎执行界面搭建操作;在本实施例中,步骤S300完成最终的预制体导出步骤,主要的原理为将前述步骤所得到的第一程序文件导入到Cocos引擎中,进而实现根据第一程序文件进行高还原度的游戏界面搭建;
具体的,所述Cocos引擎中配置有预制体创建接口和预制体填充接口;预制体创建接口和预制体填充接口分别为Cocos引擎中的相关功能性接口,在本实施例中,名称的定义仅代表描述目的;
具体的,所述界面搭建操作包括:
访问所述Cocos引擎的开发编辑器;调用所述预制体创建接口在所述开发编辑器中创建初始预制体;首先读取前述步骤得到的(即基于PS文件所得到的)第一程序文件,调用所述反序列化程序对所述第一程序文件进行反序列化处理,得到待识别层级结构对象;
调用所述预制体填充接口按照所述待识别层级结构对象中的若干所述第一图层位置信息和若干所述第一图层尺寸信息在所述初始预制体中填充若干层级节点,即在初始预制体中重新创建新的各级节点,并基于若干所述第一图层位置信息和若干所述第一图层尺寸信息分别对新的各级节点赋值相应的坐标信息,尺寸信息,并基于第一副本文件赋予对应的图片资源;最后基于若干所述层级节点在所述初始预制体中构建若干界面元素,完成高精度的界面搭建。
对应的,步骤S300的部分核心JavaScript代码如下:
// 读取布局信息 并反序列化
let json = fs.readFileSync(assetInfo.path, {
encoding: 'utf8'
});
let obj = JSON.parse(json);
// 创建新节点
Editor.Ipc.sendToPanel(
"scene",
"scene:create-node-by-classid",
`${gFileName}`,
"",
""
);
setTimeout(() => {
// 选中新节点,并保存为预制体
let newNode = Editor.Selection.curSelection("node")[0];
Editor.Ipc.sendToPanel(
"scene",
"scene:create-prefab",
`${newNode}`,
gTargetUrl
);
setTimeout(() => {
对应的,通过本实施例所描述的一种Cocos预制体的高效率导出方法,可以将Photoshop中的相关图片文件和布局文件直接导出,并转换为Json文件,后续在CocosCreator中直接导入基于Photoshop的相关图片文件和布局文件得到的Json文件,并通过反序列化处理以及解析读取等操作,快速在Cocos Creator中搭建出对应的预制体,节省了美术人员切图的时耗,同时基于得到的布局信息,提高了预制体的搭建还原度,弥补了现有技术的不足。
实施例2
本实施例基于与实施例1中所述一种Cocos预制体的高效率导出方法相同的发明构思,进而提供一种Cocos预制体的高效率导出系统,如图3所示,包括:图层生成模块、程序文件生成模块和预制体构建模块;
所述Cocos预制体的高效率导出系统中,图层生成模块用于配置方法包和获取PS文件,所述图层生成模块基于所述方法包和所述PS文件生成若干第一待处理图层;
具体的,所述方法包中配置有第一方法;所述第一方法为duplicate方法;
具体的,图层生成模块导出所述PS文件的第一图片文件和第一图层布局文件;图层生成模块调用所述第一方法生成所述第一图片文件的第一副本文件;图层生成模块基于所述第一图层布局文件识别所述第一副本文件的若干子图层;图层生成模块设定若干所述子图层分别为若干所述第一待处理图层。
所述Cocos预制体的高效率导出系统中,程序文件生成模块用于配置处理程序包和创建根节点,所述程序文件生成模块基于所述处理程序包、所述根节点和若干所述第一待处理图层执行循环遍历处理操作,得到第一程序文件;
具体的,所述处理程序包中配置有图层裁剪程序、图层识别程序、序列化程序和反序列化程序;所述根节点中配置有若干子节点数组,所述子节点数组中设置有位置信息存放字符位和尺寸信息存放字符位;
具体的,所述循环遍历处理操作包括:程序文件生成模块设置透明度阈值;程序文件生成模块统计若干所述第一待处理图层的第一数量;程序文件生成模块对若干所述第一待处理图层分别进行隐藏处理,得到若干隐藏子图层;程序文件生成模块按照所述第一数量在若干所述子节点数组中选取若干第一子节点数组;程序文件生成模块基于所述图层裁剪程序、所述图层识别程序、所述透明度阈值和若干所述第一子节点数组分别对若干所述隐藏子图层执行图层处理步骤,得到若干图层信息数组;程序文件生成模块创建空节点对象,程序文件生成模块将若干所述图层信息数组置入所述空节点对象,得到待序列化层级结构对象;程序文件生成模块调用所述序列化程序对所述待序列化层级结构对象进行序列化处理,得到所述第一程序文件;
具体的,所述图层处理步骤包括:
程序文件生成模块显示所述隐藏子图层,得到显示子图层;程序文件生成模块设置图层划分单位,并按照所述图层划分单位在所述显示子图层上划分出若干子图层区域;程序文件生成模块调用所述图层识别程序识别若干所述子图层区域所分别对应的若干第一透明度;程序文件生成模块比对所述透明度阈值和若干所述第一透明度,程序文件生成模块设定达到所述透明度阈值的所述第一透明度所对应的所述子图层区域为待裁剪区域;程序文件生成模块调用所述图层裁剪程序将所述显示子图层上对应所述待裁剪区域的图层进行移除;程序文件生成模块设定移除所述待裁剪区域后的所述显示子图层为第一待识别图层;程序文件生成模块基于所述图层识别程序、所述第一子节点数组和所述第一待识别图层执行信息识别步骤,得到所述图层信息数组。
具体的,所述信息识别步骤包括:
程序文件生成模块调用所述图层识别程序识别所述第一待识别图层的第一图层尺寸信息;程序文件生成模块在所述第一副本文件中建立第一坐标系;程序文件生成模块调用所述图层识别程序基于所述第一坐标系识别所述第一待识别图层位于所述第一副本文件中的第一图层坐标信息;程序文件生成模块得到所述第一图层尺寸信息和所述第一图层坐标信息后,对所述第一待识别图层进行所述隐藏处理;程序文件生成模块设定所述第一图层坐标信息为第一图层位置信息;程序文件生成模块识别所述第一子节点数组中的第一位置信息存放字符位和第一尺寸信息存放字符位;程序文件生成模块首先将所述第一图层位置信息置入所述第一位置信息存放字符位中,然后程序文件生成模块将所述第一图层尺寸信息置入所述第一尺寸信息存放字符位中,得到所述图层信息数组。
所述Cocos预制体的高效率导出系统中,预制体构建模块用于配置Cocos引擎,所述预制体构建模块基于所述处理程序包、所述第一程序文件和所述Cocos引擎执行界面搭建操作,得到第一预制体;
具体的,所述Cocos引擎中配置有预制体创建接口和预制体填充接口;
具体的,所述界面搭建操作包括:预制体构建模块访问所述Cocos引擎的开发编辑器;预制体构建模块调用所述预制体创建接口在所述开发编辑器中创建初始预制体;读取所述第一程序文件,并调用所述反序列化程序对所述第一程序文件进行反序列化处理,得到待识别层级结构对象;预制体构建模块调用所述预制体填充接口按照所述待识别层级结构对象中的若干所述第一图层位置信息和若干所述第一图层尺寸信息在所述初始预制体中填充若干层级节点;预制体构建模块基于若干所述层级节点在所述初始预制体中构建若干界面元素。
实施例3
本实施例提供一种计算机可读存储介质,包括:
所述存储介质用于储存将上述实施例1所述的Cocos预制体的高效率导出方法实现所用的计算机软件指令,其包含用于执行上述为所述Cocos预制体的高效率导出方法所设置的程序;具体的,该可执行程序可以内置在实施例2所述的Cocos预制体的高效率导出系统中,这样,Cocos预制体的高效率导出系统就可以通过执行内置的可执行程序实现所述实施例1所述的Cocos预制体的高效率导出方法。
此外,本实施例具有的计算机可读存储介质可以采用一个或多个可读存储介质的任意组合,其中,可读存储介质包括电、光、电磁、红外线或半导体的系统、装置或器件,或者以上任意组合。
区别于现有技术,采用本申请一种Cocos预制体的高效率导出方法、系统及介质可以通过本方法实现快速的从PS文件中直接导出Cocos预制体,减少切图和界面搭建的工作量,同时可以根据准确的位置信息和尺寸信息系进行界面元素布局搭建,进一步提高了预制体导出的还原度,通过本系统为本方法提供了有效的技术支撑,最终提高了游戏开发质量和开发效率,弥补了现有技术的不足,具有一定的应用价值。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种Cocos预制体的高效率导出方法,其特征在于,包括以下步骤:
第一图层生成步骤:
配置方法包,获取PS文件,基于所述方法包和所述PS文件生成若干第一待处理图层;
程序文件生成步骤:
配置处理程序包,创建根节点,基于所述处理程序包、所述根节点和若干所述第一待处理图层执行循环遍历处理操作,得到第一程序文件;
程序文件调用步骤:
配置Cocos引擎,基于所述处理程序包、所述第一程序文件和所述Cocos引擎执行界面搭建操作。
2.根据权利要求1所述的一种Cocos预制体的高效率导出方法,其特征在于:
所述方法包中配置有第一方法;
所述处理程序包中配置有图层裁剪程序、图层识别程序、序列化程序和反序列化程序;
所述根节点中配置有若干子节点数组,所述子节点数组中设置有位置信息存放字符位和尺寸信息存放字符位;
所述Cocos引擎中配置有预制体创建接口和预制体填充接口。
3.根据权利要求2所述的一种Cocos预制体的高效率导出方法,其特征在于:
所述基于所述方法包和所述PS文件生成若干第一待处理图层的步骤进一步包括:
导出所述PS文件的第一图片文件和第一图层布局文件;调用所述第一方法生成所述第一图片文件的第一副本文件;基于所述第一图层布局文件识别所述第一副本文件的若干子图层;设定若干所述子图层分别为若干所述第一待处理图层。
4.根据权利要求3所述的一种Cocos预制体的高效率导出方法,其特征在于:
所述循环遍历处理操作包括:
设置透明度阈值;统计若干所述第一待处理图层的第一数量;对若干所述第一待处理图层分别进行隐藏处理,得到若干隐藏子图层;按照所述第一数量在若干所述子节点数组中选取若干第一子节点数组;
基于所述图层裁剪程序、所述图层识别程序、所述透明度阈值和若干所述第一子节点数组分别对若干所述隐藏子图层执行图层处理步骤,得到若干图层信息数组;
创建空节点对象,将若干所述图层信息数组置入所述空节点对象,得到待序列化层级结构对象;调用所述序列化程序对所述待序列化层级结构对象进行序列化处理,得到所述第一程序文件。
5.根据权利要求4所述的一种Cocos预制体的高效率导出方法,其特征在于:
所述图层处理步骤包括:
显示所述隐藏子图层,得到显示子图层;
设置图层划分单位,按照所述图层划分单位在所述显示子图层上划分出若干子图层区域;调用所述图层识别程序识别若干所述子图层区域所分别对应的若干第一透明度;
比对所述透明度阈值和若干所述第一透明度,设定达到所述透明度阈值的所述第一透明度所对应的所述子图层区域为待裁剪区域;
调用所述图层裁剪程序将所述显示子图层上对应所述待裁剪区域的图层进行移除;设定移除所述待裁剪区域后的所述显示子图层为第一待识别图层;
基于所述图层识别程序、所述第一子节点数组和所述第一待识别图层执行信息识别步骤,得到所述图层信息数组。
6.根据权利要求5所述的一种Cocos预制体的高效率导出方法,其特征在于:
所述信息识别步骤包括:
调用所述图层识别程序识别所述第一待识别图层的第一图层尺寸信息;在所述第一副本文件中建立第一坐标系;调用所述图层识别程序基于所述第一坐标系识别所述第一待识别图层位于所述第一副本文件中的第一图层坐标信息;得到所述第一图层尺寸信息和所述第一图层坐标信息后,对所述第一待识别图层进行所述隐藏处理;
设定所述第一图层坐标信息为第一图层位置信息;识别所述第一子节点数组中的第一位置信息存放字符位和第一尺寸信息存放字符位;首先将所述第一图层位置信息置入所述第一位置信息存放字符位中,然后将所述第一图层尺寸信息置入所述第一尺寸信息存放字符位中,得到所述图层信息数组。
7.根据权利要求6所述的一种Cocos预制体的高效率导出方法,其特征在于:
所述界面搭建操作包括:
访问所述Cocos引擎的开发编辑器;调用所述预制体创建接口在所述开发编辑器中创建初始预制体;读取所述第一程序文件,并调用所述反序列化程序对所述第一程序文件进行反序列化处理,得到待识别层级结构对象;
调用所述预制体填充接口按照所述待识别层级结构对象中的若干所述第一图层位置信息和若干所述第一图层尺寸信息在所述初始预制体中填充若干层级节点;基于若干所述层级节点在所述初始预制体中构建若干界面元素。
8.根据权利要求7所述的一种Cocos预制体的高效率导出方法,其特征在于:
所述第一方法为duplicate方法;
所述第一图片文件的图片格式为PNG格式;
所述第一程序文件为Json文件。
9.基于权利要求1~8中任一项所述的一种Cocos预制体的高效率导出方法的Cocos预制体的高效率导出系统,其特征在于,包括:图层生成模块、程序文件生成模块和预制体构建模块;
所述图层生成模块用于配置方法包和获取PS文件,所述图层生成模块基于所述方法包和所述PS文件生成若干第一待处理图层;
所述程序文件生成模块用于配置处理程序包和创建根节点,所述程序文件生成模块基于所述处理程序包、所述根节点和若干所述第一待处理图层执行循环遍历处理操作,得到第一程序文件;
所述预制体构建模块用于配置Cocos引擎,所述预制体构建模块基于所述处理程序包、所述第一程序文件和所述Cocos引擎执行界面搭建操作,得到第一预制体。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~8中任一项所述Cocos预制体的高效率导出方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593132.6A CN114259730A (zh) | 2021-12-24 | 2021-12-24 | 一种Cocos预制体的高效率导出方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593132.6A CN114259730A (zh) | 2021-12-24 | 2021-12-24 | 一种Cocos预制体的高效率导出方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114259730A true CN114259730A (zh) | 2022-04-01 |
Family
ID=80829397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111593132.6A Pending CN114259730A (zh) | 2021-12-24 | 2021-12-24 | 一种Cocos预制体的高效率导出方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114259730A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114529705A (zh) * | 2022-04-22 | 2022-05-24 | 山东捷瑞数字科技股份有限公司 | 一种三维引擎编辑器的界面布局处理方法 |
-
2021
- 2021-12-24 CN CN202111593132.6A patent/CN114259730A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114529705A (zh) * | 2022-04-22 | 2022-05-24 | 山东捷瑞数字科技股份有限公司 | 一种三维引擎编辑器的界面布局处理方法 |
CN114529705B (zh) * | 2022-04-22 | 2022-07-19 | 山东捷瑞数字科技股份有限公司 | 一种三维引擎编辑器的界面布局处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111666526B (zh) | 页面生成方法、装置、设备及存储介质 | |
CN110196719B (zh) | 一种基于自然语言处理的业务规则生成方法与系统 | |
CN109614424B (zh) | 页面布局生成方法、装置、计算设备和介质 | |
RU2324229C2 (ru) | Визуальный и пространственный графические интерфейсы | |
CN109636887B (zh) | 一种二维电子技术图纸格式转换及矢量化交互系统 | |
CN112199086B (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
JPH02109127A (ja) | 仕様処理方法 | |
CN107273543B (zh) | 一种dgn数据格式的转换方法 | |
CN113901550B (zh) | 装配式建筑bim模型生成方法及相关设备 | |
CN116841536B (zh) | 一种组件引用关系重构方法、装置、系统及存储介质 | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
CN110705237A (zh) | 文档的自动生成方法、数据处理设备及存储介质 | |
CN116502303B (zh) | 一种基于场景层级实例信息增强的bim模型可视化方法 | |
CN111612686B (zh) | 一种ebom到pbom的结构映射方法 | |
CN114259730A (zh) | 一种Cocos预制体的高效率导出方法、系统及介质 | |
CN112328246A (zh) | 页面组件生成方法、装置、计算机设备及存储介质 | |
CN113778961B (zh) | 一种cim模型数据的生产管理方法、装置及系统 | |
CN114237916A (zh) | 一种数据处理方法及相关设备 | |
CN112612427B (zh) | 一种车辆停靠点数据处理方法、装置、存储介质及终端 | |
CN116610304B (zh) | 页面代码生成方法、装置、设备和存储介质 | |
CN117909514A (zh) | 一种文旅产业场景下的知识图谱设计方法及装置 | |
JP2010267092A (ja) | 情報処理装置、情報処理方法 | |
CN116257714A (zh) | 层叠样式表的生成方法、装置、计算机设备和存储介质 | |
CN104243201B (zh) | 网络设备测试用例对应拓扑图的存储方法及系统 | |
CN111768823A (zh) | 基于svg元素医学表达式编辑方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |