CCTimer 无法触发事件

我使用了一下方法创建了一个Scene,并在里面添加了些Sprite,都能正常显示
但是当我用CCTimer去调用addSprite()函数来添加Sprite的时候,addSprite函数一直没调用到。

不管是用
CCTimer::timerWithTarget(this, schedule_selector(Controllers::addSprite), 0.01);
还是用
CCTimer* t = new CCTimer();
t->setInterval(0.1);
t->initWithTarget(this, schedule_selector(Controllers::addSprite));
都没理法调用到addSprite函数.
不知道为什么?

在程序入口使用了以下方法新建一个controllers类
CCScene* con = Controllers::scene();
CCDirector::sharedDirector()->replaceScene(con);

Controllers类代码

#include “Controllers.h”
#include “GameResources.h”

USING_NS_CC;

CCScene* Controllers::scene()
{
CCScene * scene = NULL;
do
{
scene = CCScene::create();
CC_BREAK_IF(! scene);

            Controllers *layer = Controllers::create();
            CC_BREAK_IF(! layer);
            layer->setPosition(0,0);
            scene->addChild(layer);
    }while(0);
    return scene;

}

bool Controllers::init()
{
bool hasInitialize = false;
do{
CC_BREAK_IF(!CCLayer::init());
//get windows size
CCSize size= CCDirector::sharedDirector()->getWinSize();
//add close button
CCMenuItemImage closeItem = CCMenuItemImage::create(s_b_closeNormal, s_b_closeSelected, this, menu_selector(Controllers::closeItmeCallBack));
closeItem->setPosition(ccp(size.width - closeItem->getContentSize().width/2, closeItem->getContentSize().height/2));
CCMenu
closeMenu = CCMenu::create(closeItem, NULL);
closeMenu->setPosition(CCPointZero);

            CCSprite *background = CCSprite::create(s_i_helooBackground);
            background->setPosition(ccp(size.width/2, size.height/2));
            this->addChild(background,0);


            this->addChild(closeMenu);


            CCTimer::timerWithTarget(this, schedule_selector(Controllers::addSprite), 0.01);


            CCTimer* t = new CCTimer();
            t->setInterval(0.1);
            t->initWithTarget(this, schedule_selector(Controllers::addSprite));
            t->release();


            addSprite(0.3);
            hasInitialize = true;
    }while(0);
    return hasInitialize;

}

void Controllers::closeItmeCallBack(CCObject* pSender)
{
CCDirector::sharedDirector()->end();
}

void Controllers::addSprite(float fl)
{
CCSprite* ch = CCSprite::create(as_18);
ch->setPosition(ccp(this->getChildrenCount() * 30, this->getChildrenCount() * 30));
this->addChild(ch);
}

顶楼上的,用schedule吧楼主

非常感谢{:soso_e100:}