遇到一个问题,在spine动画播放完后,添加tmx地图,在低端机上会崩溃。找了半天,又是cocos2d的坑。在此记录下。

在spine的PolygonBatch::flush中

GL::bindVAO(0);
glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_POSITION);
glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_COLOR);
glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_TEX_COORDS);

上面启用了三种属性,而在tmx中只启用了顶点和纹理两个属性。因此,当spine销毁后,tmx会继续使用spine的颜色数据。(猜测opengl的数据并不是立即销毁,而是不够用了再销毁,因此显存大的机子没问题。)

修改方案:
把上面的代码替换成以下。

GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_TEX_COORD | GL::VERTEX_ATTRIB_FLAG_COLOR);

其实,在GL::enableVertexAttribs中,就已经有对全部的属性遍历一遍,改enable的enable,该diable的disable。只是这函数中用了s_attributeFlags,记录之前的标志位,不同的才改变。

cocos2d spine 与 tmx相遇崩溃问题相关推荐

  1. [字节/头条]小游戏开发错误码Cocos Creator Engine Errors

    github链接:Cocos Creator Engine Errors 0100 %s not yet implemented. 0200 You should specify a valid DO ...

  2. tiled素材_瓦片地图 Tiled Map

    瓦片地图(Tiled Map) 瓦片地图(Tile Map) 不但生成简单,并且可以灵活的用于Cocos2d-x引擎.不论你的游戏是角色扮演游戏, 平台动作游戏或仿打砖块游戏,这些游戏地图可以使用开源 ...

  3. Cocos2d游戏开发学习记录——4.开发《植物大战僵尸》

    文章目录 1.植物大战僵尸 2.开发前导 3.载入页面 4.菜单页面 & 预备战斗页面 5.植物准备页面 6.正式战斗页面 7.战斗逻辑 8.向日葵逻辑 9.进度条逻辑 10.音乐逻辑 11. ...

  4. 如何优化cocos2d程序的内存使用和程序大小:第一部分

    译者: 在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区 ...

  5. 面试者让金山负责webgame的高管崩溃了!

    面试者让金山负责webgame的高管崩溃了!(2009-07-06 03:44:05) 标签:金山 面试者 webgame 高管 游戏 网游 it  分类:行业评论 [转载自作者李安科本人BLOG] ...

  6. cocos2x (c++/lua) spine 文件的预加载

    在之前,笔者写过一编博客,通过lua在加载场景加载spineAnimation动画精灵,保存在table中,然后在游戏中创建动画精灵时,提取加载好的spineAnimaiton中的 spSkeleto ...

  7. 【Cocosd2d实例教程三】Cocos2d瓦片地图的导入

    (转载请注明出处:http://blog.csdn.net/buptgshengod)    上一节讲了如何使用Tiled制作瓦片地图,下面讲一下如何将地图导入游戏中.     第一步:将生成的文件导 ...

  8. iOS cocos2d 2游戏开发实战(第3版)---你的第一个游戏!

    2019独角兽企业重金招聘Python工程师标准>>> 随着苹果公司不断地创新与发展,新的iPhone 5.iPad 4以及iPad mini产品相继问世,包括iOS与Xcode在内 ...

  9. 让Web站点崩溃最常见的七大原因

    让Web站点崩溃最常见的七大原因 磁盘已满 导致系统无法正常运行的最可能的原因是磁盘已满.一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁 ...

最新文章

  1. echarts怎么用在php,在Vue.JS中怎样使用echarts
  2. Spring Boot 如何自定义Starter,你知道吗?
  3. 陕西师范大学第七届程序设计竞赛 C题 iko和她的糖
  4. python find()效率_基于python分别采用同步与异步(协程)方式抓取时光网TOP100电影...
  5. matlab阶跃响应_状态空间模型及MATLAB指令计算
  6. 【考试经验】脱离GRE苦海,30天逆袭贴
  7. 用算法去扫雷(go语言)
  8. 网络准入系统,防病毒网关,统一威胁管理,堡垒主机,漏洞扫描
  9. 1688店铺列表接口-(item_search_seller-搜索店铺列表接口)
  10. ubuntu16.04 将火狐浏览器语言设置成中文
  11. 【通过STLINK Utility下载程序和加解密方法】
  12. set_include_path()
  13. GameCenter
  14. 亲民地理35期-雨中登泰山_我是亲民_新浪博客
  15. 超搞笑MSN名字大集合(转贴)
  16. 农村也可以干大事业,小伙返乡种植葡萄,年收益达100万
  17. pg与msql的数据库调研对比分析
  18. C++ enum前置声明
  19. 华为 Mate 50 系列已经在供应方面取得重大突破,你对此期待吗?
  20. Pikka 2.1.0 macOS菜单栏屏幕取色器

热门文章

  1. 拼音域名霸唱国内域名市场 .com域名成亮点
  2. 野中郁次郎的SECI模型(转载)
  3. 跟我一起学RT-Thread之ARM架构初探
  4. ubuntu下的截图软件Spectacle安装(替代KSnapshot)
  5. Ubuntu 16.04安装anaconda3+pycharm+tensorflow-gpu详细教程
  6. 条形码的用途:1.商品条码作为商品的唯一身份标识,相当于产品在市面流通的“身份证”和“通行证”;2.产品想进入超级市场、POS商店的入场券3.商品条码也成为企业入驻网络商城的必要条件
  7. java 开源微信电商项目
  8. 华为汽车战线的“多面手”
  9. 软文正确发布的三个技巧
  10. 个人得MMORPG解决方案(Evolution of an Indie MMORPG)