CCSequence里面的CCEaseIn等

时间:2013-04-05 02:24:49

标签: cocos2d-iphone sequence easing

你如何在CCSequence中使用缓动?

Using CCEaseOut together with CCSequence?

相关

1 个答案:

答案 0 :(得分:0)

这是一个例子。这会将我的mapNode恢复到左边框,例如弹出LHS菜单时。移动持续时间和加速度是根据预期位移计算的:

- (void)setLeftClamp:(float)leftClamp {

    _leftClamp = leftClamp;

    CGPoint currentPosition = self.mapNode.position;
    if (currentPosition.x > self.maxX) {
        // ease right back in position
        CGPoint delta         = ccp (self.maxX - currentPosition.x, 0);
        id      move          = [CCMoveBy actionWithDuration:[self moveDuration:delta] position:delta];
        id      ease          = [CCEaseIn actionWithAction:move rate:[self moveAcceleration:delta]];
        id      delay         = [CCDelayTime actionWithDuration:.1f];
        id      easeAndCenter = [CCSequence actions:ease, delay, [CCCallFunc actionWithTarget:self selector:@selector(onMoveComplete)], nil];
        [self.mapNode runAction:easeAndCenter];

        targetMapLocation_ = ccpAdd(self.mapNode.position, delta);
        mapDisplacement_   = delta;
        isMapMoving_       = YES;

    }

}