CCActionSequence如何处理动作?

时间:2014-04-17 05:46:53

标签: objective-c cocos2d-iphone

我正在通过示例学习Cocos2D v3,我有以下测试代码:

- (void) move: (CGPoint) direction {
    ...
    while (TURE) {
        [self takeAction]; // self is an instance of CCNode subclass
        [NSThread sleepForTimeInterval: 1.0];
    }
    ...
}

- (void) moveComplete {
    CCLOG(@"end action: %.3f", [[NSDate date] timeIntervalSince1970]);
}

- (void) takeAction {
    ...
    CCLOG(@"begin action: %.3f", [[NSDate date] timeIntervalSince1970]);
    CCActionSequence *sequence = [CCActionSequence actions: [CCActionMoveTo actionWithDuration: 0.2f position: newPosition], [CCActionCallFunc actionWithTarget: self selector: @selector(moveComplete)], nil];
    [tile runAction: sequence];
}

基本上流程将是“takeAction”被调用(在循环中用于测试目的)然后我让主线程休眠1秒钟。我在“takeAction”中使用“CCActionSequence”来运行一个动作并调用“moveComplete”回调。

我的问题很简单:我可以逐秒看到“开始动作”日志(按顺序),但为什么我几乎在同一时间看到“结束动作”日志? CCActionSequence是批处理还是类似处理?

由于

0 个答案:

没有答案
相关问题