CCSequence无法正确触发

时间:2014-08-21 12:57:11

标签: iphone cocos2d-iphone

我遇到了一些我以前从未见过的问题,这些问题是我几年前用cocos2d cocos2d v1.1.0-beta2b编写的。

基本上,我所要做的就是在屏幕上移动Domino(CCNode SubClass)。一轮完成后,确定胜利者并将多米诺骨牌移到屏幕右侧......或者应该是。

使用非64位设备时,95%的情况会发生这种情况。

7.1 95% of the time

但是,有时会发生以下情况。由于某种原因,其中一个瓷砖根本没有移动。

7.1 5% of the time

最后,当我使用64位模拟器时,我得到了这个

64-bit

这里的瓷砖正在移动,但它们并没有旋转。我减慢了持续时间,看看我是否可以分辨出发生了什么,它似乎被射了3次。

这是代码。我究竟做错了什么?直到最近,我才从未遇到过此代码的问题。

-(void)determinetrickwinner: (NSArray *) table
{

    [self unscheduleAllSelectors];

...
    for (int i = 0; i <[table count]; ++i)
    {

        if (int_winningplayer==1)
        {
            pos_x=int_X1o+int_X1*i;
            pos_y=int_Y1o+(int_player1wincounter-1)*int_Y1;
        }

        if (int_winningplayer==2)
        {
            pos_x=int_X2o+int_X2*i+int_X1*3*1.08;
            pos_y=int_Y2o+(int_player2wincounter-1)*int_Y2;
        }

        if (int_winningplayer==3)
        {
            pos_x=int_X2o+int_X2*i+int_X1*6*1.08;
            pos_y=int_Y2o+(int_player3wincounter-1)*int_Y2;
        }

        Domino *temp_tile = table[i];
        temp_tile.scale=flt_scale;

        CCDelayTime *delay=[CCDelayTime actionWithDuration:.01f];

        CCMoveTo * translate = [CCMoveTo actionWithDuration:.1f position:ccp(pos_x,pos_y)];
        CCRotateTo * rotLeft = [CCRotateBy actionWithDuration:.1f angle:90.f];
        CCSequence * rotSeq = [CCSequence actions:translate, delay, rotLeft, nil];
        [temp_tile runAction:rotSeq];

        NSLog(@"i=%d",i);

    }

        if (int_numberoftricks<7)
        {

            if (int_winningplayer==1)
            {
                str= player1;
                //boo_player1move=true;
                [self schedule: @selector(startPlayer1moves) interval:.25];

            }
            if (int_winningplayer==2)
            {
                str= player2;
                [self schedule: @selector(Player2Moves) interval:1.3];
            }
            if (int_winningplayer==3)
            {
                str=player3;
                [self schedule: @selector(Player3Moves) interval:1.3];

            }

            [currentplayer setString:str];
        }
}

0 个答案:

没有答案