我在游戏中把所有的敌方的精灵都放在一个数组,
然后遍历数组把精灵一个一个取出来,
取一个,然后执行动作.动作结束后在取一个精灵在执行动作.
我的方法如下:
Player* player;
CCObject* pObject = NULL;
CCARRAY_FOREACH(enemyPlayer, pObject)//遍历角色的类表,enemyPlayer是一个装正精灵的Array
{
player = (Player*)pObject;
if(! player )
break;
operateSprite=player;
path=getPath(player,tmppoint,tileMap);//取得移动路径列表
CCArray* actionArray=new CCArray();
AstarItem* astaritem;
CCObject* itemObject = NULL;
CCARRAY_FOREACH(path, itemObject)//遍历路径表
{
astaritem=(AstarItem*)itemObject;
CCPoint movetoPoing=map2win(astaritem->getrow(),astaritem->getcol());
CCActionInterval* actionTo = CCMoveTo::create(0.5,movetoPoing);
actionArray->addObject(actionTo);//把移动动作添加到,行动数组里去.
}
actionArray->addObject(CCCallFunc::create(this, callfunc_selector(HelloWorldScene::Callback1)));
(operateSprite->getSprite())->runAction(CCSequence::create(actionArray));//执行动作
}
```
但是运行的结果还是所有的精灵同时动起来.达不到效果.请问这是为什么?