首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocos2d-x对象池

Cocos2d-x对象池
EN

Stack Overflow用户
提问于 2015-07-10 23:17:14
回答 1查看 512关注 0票数 1

我创建了对象池,如下所示。

代码语言:javascript
复制
void Arrow::CreatePools( cocos2d::Layer *layer )
{
    Sprite * sprite;
    int i;

    //--CREATE ENEMY OBJECT POOL--//
    enemyPool = new Vector<Sprite*>(MAX_ENEMY_NUMBER);
    enemyIndex = 0;
    for (i = 0; i < MAX_ENEMY_NUMBER; i++) {
        sprite = Sprite::create("Enemy.png");
        sprite->setVisible(false);
        layer->addChild(sprite);
        enemyPool->pushBack(sprite);
    }

当我尝试从池中拉出对象时,cocos给出了这个错误;{return static_cast<size_type>(this->__end_ - this->__begin_);}

我的对象拉取方法如下。

代码语言:javascript
复制
auto enemy = enemyPool->at(enemyIndex);
            enemyIndex++;
            if (enemyIndex == enemyPool->size())
                enemyIndex = 0;
            enemy->stopAllActions();
            enemy->setPosition(myStartPoint);
            enemy->runAction(myAction);
            enemy->setVisible(true);
EN

回答 1

Stack Overflow用户

发布于 2015-07-13 11:19:00

(i = 0;i< MAX_ARROW_NUMBER;i++)的

MAX_ARROW_NUMBER应该是MAX_ENEMY_NUMBER吗?

因为创建enemyPool时的大小为MAX_ENEMY_NUMBER in

enemyPool =新矢量(MAX_ENEMY_NUMBER);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31344431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档