Cocos2dx中的引用计数和自动回收池(2)
来源:未知 责任编辑:责任编辑 发表时间:2013-11-18 20:55 点击:次
p> // 父类初始化
p> //////////////////////////////////////////////////////////////////////////
p>
p> CC_BREAK_IF(! CCLayer::init());
p> CCSprite* bomb1 = CCSprite::create("CloseNormal.png");
p> CCSprite* bomb2 = CCSprite::create("CloseNormal.png");
p> CCSprite* bomb3 = CCSprite::create("CloseNormal.png");
p> CCSprite* bomb4 = CCSprite::create("CloseNormal.png");
p> CCSprite* bomb5 = CCSprite::create("CloseNormal.png");
p> CCSprite* bomb6 = CCSprite::create("CloseNormal.png");
p>
p> addChild(bomb1,1);
p> addChild(bomb2,1);
p> addChild(bomb3,1);
p> addChild(bomb4,1);
p> addChild(bomb5,1);
p> addChild(bomb6,1);
p>
p> m_pBombsDisplayed = CCArray::create(bomb1,bomb2,bomb3,bomb4,bomb5,bomb6,NULL);
p>
p> this->scheduleUpdate();
p>
p> bRet = true;
p> } while (0);
p>
p> return bRet;
p>}
p>
p>void HelloWorld::update(ccTime dt)
p>{
p> refreshData();
p>}
p>
p>void HelloWorld::refreshData()
p>{
p> m_pBombsDisplayed->objectAtIndex(0)->setPosition(cpp(100,100));
p>}
p>
p>他的错误是,m_pBombsDisplayed被CCArray::create(…)这个静态构造函数中穿件,这个数组被标志位了autorelease。那么在当前消息队列末尾,它将由CCAutoreleasePool删除掉。因为当后来的消息队列调用HelloWorld::update(ccTime)的时候,m_pBombsDisplayed 已经是一个空指针了,因此导致了崩溃。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>
您可能感兴趣的文章
- cocos2d-android——触摸事件
- cocos2d-x 3.0 rc0 + flappybird 学习心得
- cocos2d-x android游戏使用自己的字体
- cocos2d-x 2.0.3 设置高清模式注意事项(cocos2d-x 2.0.3 设置高
- M8系统开发手记(2)
- cocos2d-x Jni c++ java互调 并且相互刷新UI控件最简单例子(下
- 给黑莓程序添加快捷键
- Cocos2d-x Box2d笔记 :关节的使用 mouseJoint和PrismaticJoint
- cocos2d_x+lua ------触屏事件
- cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi