前言:


工作中一直是使用flash在做动画表现,随着flash的被遗弃,现在很多2D游戏动画都转为spine在做,业余时间就想尝试在cocos2dx中使用使一下spine。结果发现创建spine动画的时候报错:

查资料说是需要升级到最新的spine库,于是开始升级spine到最新版本。下面是一些我的环境配置:

cocos版本:cocos2d-x 3.17.2

spine更新库下载地址:https://github.com/EsotericSoftware/spine-runtimes

平台: windows

编译工具:Visual Studio 15 2017  CMake

Python 2.7.13

目前spine是支持cocos2dx 3.x 和 4.x版本的,根据你的需要自主选择。

这是spine官方提供的升级教程,其实整个升级过程不难,可能向我一样的新手有些部分可能不太理解,这里以cocos2dx 3.x版本为例进行升级

升级教程:


我是以cocos2dx cpp工程来进行升级的,所以先创建cocos2dx 工程,cocos2dx工程创建完毕,通过 CMake 创建模板工程:

工程创建完毕,红框文件是通过CMake创建的模板工程,具体环境搭建的详细部分可以参考官网:https://docs.cocos.com/cocos2d-x/manual/zh/installation/Windows.html

打开build-win32文件夹,找到.sln工程文件,打开:

可以进行编译,看一下默认工程能不能运行,我这里会遇到一个错:

解决办法也很简单,就是找到项目解决方案右键-》属性-》基本配置-》启动项,设置为你当前的项目就可以了:

创建工程完毕,然后删除cocos2dx工程内自带的旧版本spine,此处需要注意,spine文件夹下有一个CMakeLists.txt文件,这个是为了编译spine时使用的,后面我们会用到,不过也不用担心,后面用的时候会重新生成一份,所以这里直接把整个spine文件夹删除就可以:

然后打开使用vs打开工程,找到spine运行库,右键删除,将整个spine运行库删除,这一步是为了彻底将旧版本的spine引用从你的工程中清理掉:

然后去spine官网下载最新版的spine库,下载地址:https://github.com/EsotericSoftware/spine-runtimes ,下载完成之后,解压,将spine-cocos2dx下的spine/src/spine文件夹、spine-cpp下的include/spine文件夹、spine-cpp下的src/spine文件夹都拷贝到创建好的工程下的cocos2d/cocos/editor-support文件夹下:

在vs中打开工程,右键editor-support文件夹,新增文件夹,然后在新建的文件夹下新增已有项目将拷贝的所有文件都添加到的工程中:

然后在文件夹资源管理器下打开 你的工程\cocos2d\cocos\editor-support\spine  新建generate.py文件,将下列代码粘贴到其中,然后执行python文件,成功执行后会生成一个CMakeLists.txt文,这一步操作是为了将spine运行库,添加到编译列表中,在后面编译整个工程时候会将新版本的spine编译到工程中。如果报错也会有详细信息提示,根据提示修改就可以了:

import os
targetFile = "CMakeLists.txt"
prefix = "editor-support/spine/"
hFiles = []
cppFiles = []
def file_name():for root, folders, files in os.walk(os.getcwd()):for file in files:if os.path.splitext(file)[1] == '.h':ro = root.replace("\\", "/")if ro.rfind("v3") != -1:hFiles.append('{}v3/{}'.format(prefix, file))elif ro.rfind("v4") != -1:hFiles.append('{}v4/{}'.format(prefix, file))else:hFiles.append('{}{}'.format(prefix, file))elif os.path.splitext(file)[1] == '.cpp':ro = root.replace("\\", "/")if ro.rfind("v3") != -1:cppFiles.append('{}v3/{}'.format(prefix, file))elif ro.rfind("v4") != -1:cppFiles.append('{}v4/{}'.format(prefix, file))else:cppFiles.append('{}{}'.format(prefix, file))file_name()f = open(os.path.join(os.getcwd(), targetFile),"w")
f.write('include_directories(editor-support)\n\n    set(COCOS_SPINE_HEADER\n')
for file in hFiles:f.write('      {}\n'.format(file))
f.write('    )\n\n')f.write("    set(COCOS_SPINE_SRC\n")
for file in cppFiles:f.write('      {}\n'.format(file))
f.write('    )')
f.close()

然后打开VS,重新编译,编译成功:

编译后的工程地址:https://github.com/RXBXX/Cocos2d-x-3.17.2-spine

包括其中使用到的spine源文件都在,可以拿来自己做测试:

总结:


现在各种技术更新迭代实在太快,动不动就是各种版本的兼容问题,看了下网上关于spine升级的东西好像也不太多,有的也不太适合新手来学习,在cocos2dx引擎的使用方面,我也算是个新手,所以记录一下自己工程的升级过程,希望能帮到有需要的热爱程序的同行。

另外强推大家稍微学习一下python,太好用了。在生成spine运行库的CMakeLists.txt文件的时候,我是手动修改的,逐个文件输入,费事费力而且容易出错疏漏。使用python脚本完全不用担心这些问题。

Cocos2d-x-3.17.2 升级spine相关推荐

  1. cocos2dx js 3.17.2 升级spine 兼容Spine v3.8 最新版

    资源下载地址:https://download.csdn.net/download/zhang1461376499/12542498 讨论请加 qq群: 670575015 学习请关注 微信公众号: ...

  2. cocos2dx-lua升级spine

    提示:spine大版本不向下兼容,如4.1版本打不开3.8的动画文件. 一.准备工作 新建cocos2dx-lua项目(我测试的项目版本是3.15和3.17). spine版本选择下载 https:/ ...

  3. flyme8会更新Android版本吗,魅族17系列升级Flyme 8.1操作系统:终于到Android 10

    原标题:魅族17系列升级Flyme 8.1操作系统:终于到Android 10 玩懂手机网资讯,根据魅族官方的消息,魅族17系列终于升级至Android 10,将会搭载 Flyme 8.1 操作系统, ...

  4. linux mint 17 升级,如何从Linux Mint 17.3升级到Linux Mint 18

    上个月,Linux Mint的开发团队发布了Linux Mint的18稳定版.这家现代化的,高度抛光和舒适,基于Ubuntu的Linux发行版,其中渴望尝试一些新的功能和改进的许多用户,它来了一个长着 ...

  5. cocos2dx 3.17.2 升级最新的Spine

    以cocos2dx 3.17.2自带的spine库不支持最新的spine版本导出的动画文件.本篇详细讲解如何升级 1.下载并解压 下载地址:https://download.csdn.net/down ...

  6. 魅族升级过程中出现android,魅族官宣魅族17升级Android11底层?结果魅友却怒了

    众所周知,魅族今年只发布了魅族17系列5G手机,一共就只有魅族17和魅族17Pro两款机型,反观其他手机厂商,各个价位段的5G手机层出不穷,疯狂抢夺市场,而魅族今年却变得如此单一.其实,魅族也想和其他 ...

  7. 添加类iOS cocos2d 2游戏开发实战(第3版)

    这两天一直在学习添加类之类的问题,现在正好有机会和大家讨论一下. 第1章 简介 1 1.1 第3版中的新增内容 2 1.2 选择ios版cocos2d的来由 3 1.2.1 收费 3 1.2.2 开源 ...

  8. iOS 5 cocos2d游戏开发实战(第2版)

    <iOS 5 cocos2d游戏开发实战(第2版)> 基本信息 作者: [美]Steffen Itterheim Andreas Low [作译者介绍] 译者: 同济大学苹果俱乐部 丛书名 ...

  9. Spring Boot 3.0.0 发布第一个里程碑版本M1,你的 Java 升到 17 了吗?

    欢迎关注方志朋的博客,回复"666"获面试宝典 ‍ ‍文章来源:程序猿DD‍ ‍ 2022年1月20日,Spring官方发布了Spring Boot 3.0.0的第一个里程碑版本M ...

最新文章

  1. linux 错误 kernel panic not syncing vfs unable to mount root fs on unknown-block 0 0
  2. [ Linux ] [ OS ] [ memory ] Linux 如何查看系統硬體的記憶體(RAM)資訊
  3. GMIS 2017 大会余凯演讲:深度学习引领驾驶革命
  4. printstream java_Java PrintStream
  5. Linux yum包管理工具常用命令示例
  6. Dubbo 需求、架构、使用Demo
  7. 深入理解C++中的explicit关键字
  8. 跳槽想必职场人士都经历过,那么怎么样跳槽才算是跳对了槽呢?
  9. UVALive6336 HDU4450 Draw Something【水题】
  10. 区间DP lightoj 1422
  11. android studio 新建的项目无法绘制界面
  12. android 人脸识别边框_Android相机预览,指定区域显示预览框,在区域内出现人脸进行人脸识别,并抓拍人脸照片存在本地...
  13. 《Hadoop权威指南》知识点整理5
  14. vue前端实现批量导出
  15. 汪磊Node基础、Node入门、黑马Node
  16. 企业微信根据微信联系人批量自动发送邀请,还可根据手机号批量添加
  17. [原]几条简单命令查询硬件信息
  18. 游戏3D美术设计师前景怎么样?
  19. 常用的系统操作响应时间
  20. Vmware Ubuntu 无法解析域名解决

热门文章

  1. 网页点击弹出QQ对话框
  2. 计算机耗材发放管理,医用耗材条码管理,让耗材管理更轻松
  3. HP小型机多种修改主机IP的方法
  4. oracle 视图创建 视图及字段加注释 字段数据类型更改
  5. STM32课程设计--数字时钟+数字电压表+扩展功能--从零开始
  6. maven仓库读取顺序
  7. 代理模式Proxy——读书笔记
  8. flex前端+java后台实现Flex导出Excel的两种方法,
  9. mac linux 格式移动硬盘,[求助]连在黑mac上的移动硬盘格式化为什么格式好呢,求指导...
  10. 计算机配置相关参考文献,计算机维护论文,关于《计算机配置维护》教学改革实践相关参考文献资料-免费论文范文...