Return CCArray类 无法得到CCSprite,只能得到CCSprite的数量

bool Shoot::init()
{
    m_mosArr=CCArray::create();
    m_mosArr->retain();
    CCSprite*monster=NULL;
    for (int i=0;i<10;i++)
    {
        monster=CCSprite::create("CloseNormal.png");
        monster->setPosition(ccp(300,300));
        monster->retain();
        this->addChild(monster);
        m_mosArr->addObject(monster);
        
    }
    
    intaq();
    return true;
}


CCArray* Shoot::getMonsterList()
{
    return m_mosArr;
}


```


调用代码
bool HelloWorld::init()
{
    AllocConsole(); freopen("CONIN$", "r", stdin); freopen("CONOUT$", "w", stdout); freopen("CONOUT$", "w", stderr);
    Shoot*sh=Shoot::create();
    this->addChild(sh);

    Shoot* layer =Shoot::create();

    CCArray* monsterList = layer->getMonsterList();

    CCObject*obj=NULL;
    CCSprite*monster=NULL;
    CCARRAY_FOREACH(monsterList,obj)
    {

//        monster=dynamic_cast(obj);
        monster=(CCSprite*)obj;
        if (monster!=NULL)
        {
            CCLOG("11");
            monster->setPosition(ccp(800,300));
        }
    }
    return true;
}


```

这里只出现了10个CCLOG的11,setPosition无效以及其他函数无效,应如何解决?
PS:
Shot里的CCArray即m_mosArr是有用的,也就是说无论设置setPosition还是其他都有效果,只有HelloWord里的CCArray* monsterList = layer->getMonsterList();后的CCArray不能做setPosition等函数,只有10个CCLOG的11.

monster被加到了shoot里,但是shoot没有加到helloworld里,快匿吧,我忍不住要吐槽了

瞎扯!明明不是这问题!比你说的这个白痴多了!是我创建了两个Shoot,因为第一个Shoot是随手创建的,后来就给忘了,导致一个没显示,一个显示了,即this->addChild(sh);,然后移动的是没显示的那个……然后就导致了没有移动,却数量准确的错觉……

原来如此。。 我也是代码没看仔细。。。