COCOS2D: как анимировать падение кирпичей в сетку

#animation #cocos2d-iphone

#Анимация #cocos2d-iphone

Вопрос:

В начале игры я пытаюсь анимировать падение 41 кирпича в сетку размером 6×7 от верхней части экрана, но пока мне только что удалось заставить кирпичи падать в одном и том же положении. Если я удалю часть анимации, все кирпичи появятся в сетке. Кирпичи должны падать через миллисекунду или две после предыдущего кирпича, чтобы создать эффект шагов.

Я знаю, что проблема в позиции, но я не знаю, как это исправить.

 -(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:

вы можете использовать задержку для каждого кирпича, что-то вроде этого

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

А затем создайте случайное время и установите его в переменную WaitTime.
Затем каждый вызов будет перемещать один кирпич, затем подождите и сделайте это снова.

Надеюсь, это поможет!