cocos2d spine 与 tmx相遇崩溃问题
遇到一个问题,在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相遇崩溃问题相关推荐
- [字节/头条]小游戏开发错误码Cocos Creator Engine Errors
github链接:Cocos Creator Engine Errors 0100 %s not yet implemented. 0200 You should specify a valid DO ...
- tiled素材_瓦片地图 Tiled Map
瓦片地图(Tiled Map) 瓦片地图(Tile Map) 不但生成简单,并且可以灵活的用于Cocos2d-x引擎.不论你的游戏是角色扮演游戏, 平台动作游戏或仿打砖块游戏,这些游戏地图可以使用开源 ...
- Cocos2d游戏开发学习记录——4.开发《植物大战僵尸》
文章目录 1.植物大战僵尸 2.开发前导 3.载入页面 4.菜单页面 & 预备战斗页面 5.植物准备页面 6.正式战斗页面 7.战斗逻辑 8.向日葵逻辑 9.进度条逻辑 10.音乐逻辑 11. ...
- 如何优化cocos2d程序的内存使用和程序大小:第一部分
译者: 在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区 ...
- 面试者让金山负责webgame的高管崩溃了!
面试者让金山负责webgame的高管崩溃了!(2009-07-06 03:44:05) 标签:金山 面试者 webgame 高管 游戏 网游 it 分类:行业评论 [转载自作者李安科本人BLOG] ...
- cocos2x (c++/lua) spine 文件的预加载
在之前,笔者写过一编博客,通过lua在加载场景加载spineAnimation动画精灵,保存在table中,然后在游戏中创建动画精灵时,提取加载好的spineAnimaiton中的 spSkeleto ...
- 【Cocosd2d实例教程三】Cocos2d瓦片地图的导入
(转载请注明出处:http://blog.csdn.net/buptgshengod) 上一节讲了如何使用Tiled制作瓦片地图,下面讲一下如何将地图导入游戏中. 第一步:将生成的文件导 ...
- iOS cocos2d 2游戏开发实战(第3版)---你的第一个游戏!
2019独角兽企业重金招聘Python工程师标准>>> 随着苹果公司不断地创新与发展,新的iPhone 5.iPad 4以及iPad mini产品相继问世,包括iOS与Xcode在内 ...
- 让Web站点崩溃最常见的七大原因
让Web站点崩溃最常见的七大原因 磁盘已满 导致系统无法正常运行的最可能的原因是磁盘已满.一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁 ...
最新文章
- echarts怎么用在php,在Vue.JS中怎样使用echarts
- Spring Boot 如何自定义Starter,你知道吗?
- 陕西师范大学第七届程序设计竞赛 C题 iko和她的糖
- python find()效率_基于python分别采用同步与异步(协程)方式抓取时光网TOP100电影...
- matlab阶跃响应_状态空间模型及MATLAB指令计算
- 【考试经验】脱离GRE苦海,30天逆袭贴
- 用算法去扫雷(go语言)
- 网络准入系统,防病毒网关,统一威胁管理,堡垒主机,漏洞扫描
- 1688店铺列表接口-(item_search_seller-搜索店铺列表接口)
- ubuntu16.04 将火狐浏览器语言设置成中文
- 【通过STLINK Utility下载程序和加解密方法】
- set_include_path()
- GameCenter
- 亲民地理35期-雨中登泰山_我是亲民_新浪博客
- 超搞笑MSN名字大集合(转贴)
- 农村也可以干大事业,小伙返乡种植葡萄,年收益达100万
- pg与msql的数据库调研对比分析
- C++ enum前置声明
- 华为 Mate 50 系列已经在供应方面取得重大突破,你对此期待吗?
- Pikka 2.1.0 macOS菜单栏屏幕取色器
热门文章
- 拼音域名霸唱国内域名市场 .com域名成亮点
- 野中郁次郎的SECI模型(转载)
- 跟我一起学RT-Thread之ARM架构初探
- ubuntu下的截图软件Spectacle安装(替代KSnapshot)
- Ubuntu 16.04安装anaconda3+pycharm+tensorflow-gpu详细教程
- 条形码的用途:1.商品条码作为商品的唯一身份标识,相当于产品在市面流通的“身份证”和“通行证”;2.产品想进入超级市场、POS商店的入场券3.商品条码也成为企业入驻网络商城的必要条件
- java 开源微信电商项目
- 华为汽车战线的“多面手”
- 软文正确发布的三个技巧
- 个人得MMORPG解决方案(Evolution of an Indie MMORPG)