Действия запуска CCSequence в Cocos2d - PullRequest
4 голосов
/ 07 сентября 2010

У меня есть три действия, которые запускаются в CCSequence.Я хочу, чтобы он был запущен: сначала спрайт должен двигаться в центре экрана, а затем запускается действие масштабирования.Но по какой-то причине спрайт перемещается в центр экрана правильно, но при срабатывании шкалы используется старая позиция спрайта.

id actionRotate = [CCRotateBy actionWithDuration:0.6 angle:360]; 
        id disappear = [CCFadeTo actionWithDuration:.5 opacity:0]; 
        id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(removeAlphabetToFindFromView:)];
        id actionScale = [CCScaleBy actionWithDuration:0.6 scaleX:10 scaleY:10]; 
        id moveTo = [CCMoveTo actionWithDuration:0.6 position:ccp(windowSize.width/2, windowSize.height/2)]; 


        //[self removeAlphabetToFindFromView2:alphabetToFind]; 

        [alphabetToFind runAction:[CCSequence actions:moveTo,actionScale,disappear,actionMoveDone, nil]];

ОБНОВЛЕНИЕ 1:

Возможно, метод startAnimation как-то связан с этим.У меня есть открытые переменные x и y, которые используются как позиции x и y для 4 разных спрайтов:

-(void) startAnimation:(CCSprite *) sprite
{

    [self generateRandomCoordinates]; 

    id actionMove = [CCMoveTo actionWithDuration:3.0 position:ccp(x,y)];
    id actionRotate = [CCRotateBy actionWithDuration:0.0 angle:rotateBy]; 

    id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(finishedMoving:)]; 

    [sprite runAction:[CCSequence actions:actionMove,actionRotate, actionMoveDone, nil]];

}

-(void) finishedMoving:(id) sender
{

    if(counter == randomAlphabets.count) 
    {
        counter = 0; 
    }

    CCSprite *sprite = [randomAlphabets objectAtIndex:counter]; 

    [self generateRandomCoordinates]; 

    [self startAnimation:sprite]; 

    counter +=1; 

}

ОБНОВЛЕНИЕ 2:

Как и ожидалось, x и yиспользуемые в методе startAnimation (getRandomCoordinates) вызывали проблему.Итак, я удалил все действия до запуска последовательности и теперь она работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...