Animation COCOS2D:如何将掉落的砖块设置为栅格动画

Animation COCOS2D:如何将掉落的砖块设置为栅格动画,animation,cocos2d-iphone,Animation,Cocos2d Iphone,在游戏开始的时候,我试图制作41块砖块的动画,使其落入一个距离屏幕顶部6x7的网格中,但到目前为止,我刚刚能够使砖块落在相同的位置。如果删除动画部分,则所有砖块都将显示在栅格上。砖块应在前一块砖块后一到两毫秒下落,以产生台阶效果 我知道位置是问题所在,但我不知道如何解决它 -(void)AnimateBricksFalling { self.allowTouch = NO; for(int i =0; i< GRID_WIDTH ; i++) { f

在游戏开始的时候,我试图制作41块砖块的动画,使其落入一个距离屏幕顶部6x7的网格中,但到目前为止,我刚刚能够使砖块落在相同的位置。如果删除动画部分,则所有砖块都将显示在栅格上。砖块应在前一块砖块后一到两毫秒下落,以产生台阶效果

我知道位置是问题所在,但我不知道如何解决它

-(void)AnimateBricksFalling
{
    self.allowTouch = NO;
    for(int i =0; i< GRID_WIDTH ; i++)
    {
        for(int j =0; j< GRID_HEIGHT ; j++)
        {
            Bricks * d = grid[i][j];
            d.mySprite.position = ccp(168,1000); //the position is the issue, making all the bricks to fall down to the same position
            CCMoveTo *move = [CCMoveTo actionWithDuration:0.5 position:ccp(168,91)]; //the position is the issue, making all the bricks to fall down to the same position
            [d.mySprite runAction: move];
        }
    }
}
-(无效)AnimateBricks
{
self.allowTouch=否;
对于(int i=0;i
您可以为每个砖块使用延迟,如下所示

 [d.mySprite runAction: [d.mySprite runAction: [Sequence actions:
[DelayTime actionWithDuration: waitTime],
[CCMoveTo actionWithDuration:0.5 position:ccp(168,91)],
nil]]];
然后创建一个randon时间并将其设置为waitTime变量。 然后每次调用都会移动一块砖块,然后等待,然后再执行一次

希望有帮助