COCOS2D:如何将掉落的砖块制成栅格

时间:2011-10-03 05:00:15

标签: animation cocos2d-iphone

我正在尝试在游戏开始时为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];
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你可以为每个砖使用延迟,类似这样的

 [d.mySprite runAction: [d.mySprite runAction: [Sequence actions:
[DelayTime actionWithDuration: waitTime],
[CCMoveTo actionWithDuration:0.5 position:ccp(168,91)],
nil]]];

然后创建一个randon时间并将其设置为waitTime变量。 然后每个调用将移动一个砖块,然后等待,然后再次执行。

希望它有所帮助!