码迷,mamicode.com
首页 > 其他好文 > 详细

Cocos2D中使用CCDrawNode绘制几何图形崩溃的解决

时间:2015-11-13 10:33:52      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:cocos2d   ccdrawnode   崩溃   几何图形   

在cocos2D v3.x中已经不能像在v2.x中那样直接调用ccDrawXXX函数来绘制几何图形了.

我们可以使用CCDrawNode或者CCRenderer来绘制图形.

但是官方的Api手册中说的很清楚,CCDrawNode只推荐放在游戏的调试中调用,因为改变其状态必须先删除再重新添加,导致在绘制大量复杂几何图形时性能会很差.

在cocos2D v2.x中直接调用OpenGL的绘制一般放在draw方法中,但是在v3.4中实际测试发现,将CCDrawNode的绘制放在draw会导致App崩溃,错误大意为不能在遍历数组时改变其中的元素状态.

我推测是因为在draw中会遍历其中的可绘制节点,其中就包括了我们添加的CCDrawNode,然而在draw中我们修改了CCDrawNode的状态,所以App会崩溃.

换一种方法,将CCDrawNode的绘制放在update中即可.

当然,这样做只是在绘制节点会随着游戏状态发生改变时才有必要,如果绘制的节点永远不发生变化,直接放到类实例的初始化中就可以了.

版权声明:本文为博主原创文章,未经博主允许不得转载。

Cocos2D中使用CCDrawNode绘制几何图形崩溃的解决

标签:cocos2d   ccdrawnode   崩溃   几何图形   

原文地址:http://blog.csdn.net/mydo/article/details/49812937

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!