求助,无法用for实行循环

我想在菜单中做一个小动物来回摆动。
用了for循环,编译没错,但是运行的时候程序就没有弹出窗口,只有进程中显示内存占用。
请问我应该怎么实现循环呢?
没用for的时候程序可以正常运行

CCSprite *MapDuqi = CCSprite::create("Menu/MenuDuqi.png");
CCActionInterval *MapDuqiRotate = CCRotateTo::create(2, 15.0f);
CCActionInterval *MapDuqiRotateToBack = CCRotateTo::create(2, -10);
MapDuqi->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 80, -60));
MapDuqi->retain();
for(int i=0;i<1;)
{
MapDuqi->runAction(CCSequence::create(MapDuqiRotate,MapDuqiRotateToBack, NULL));
}
  • 本帖最后由 bas 于 2012-11-3 09:48 编辑 *

— Begin quote from ____

yiplee 发表于 2012-11-2 22:45 http://cocos2d.cocoachina.com/bbs/forum.php?mod=redirect&goto=findpost&pid=17610&ptid=9833

实际上你这个循环一直在执行,每执行一次,就给 MapDuqi 加一个动作,所一 MapDuqi 太忙一个动作也做不了, …

— End quote

谢谢,这问题我已经解决
昨天在TestCpp找到了,嘻嘻{:soso_e113:}

的确是CCRepeatForever

实际上你这个循环一直在执行,每执行一次,就给 MapDuqi 加一个动作,所一 MapDuqi 太忙一个动作也做不了,循环可不是等动作执行完才开始下一次循环的。

所以,你应该用的是 CCRepeatForever 这个动作,用你的动作队列生成一个 CCRepeatForever 动作,然后让 MapDuqi 执行这个动作,不需要 for 循环。

这里是 CCRepeatForever 的 Reference: http://www.cocos2d-x.org/embedded/cocos2d-x/d4/deb/classcocos2d_1_1_c_c_repeat_forever.html

实际上你这个循环一直在执行,每执行一次,就给 MapDuqi 加一个动作,所一 MapDuqi 太忙一个动作也做不了,循环可不是等动作执行完才开始下一次循环的。

所以,你应该用的是 CCRepeatForever 这个动作,用你的动作队列生成一个 CCRepeatForever 动作,然后让 MapDuqi 执行这个动作,不需要 for 循环。

这里是 CCRepeatForever 的 Reference: http://www.cocos2d-x.org/embedded/cocos2d-x/d4/deb/classcocos2d_1_1_c_c_repeat_forever.html