0

我正在使用这个 coe o 为我的图像显示波纹动作

  CCSprite * ghost = [CCSprite spriteWithFile:@"ghost.png"];
    [ghost setPosition:ccp(500,600)]; 

    CCRipple3D* ripple = [CCRipple3D actionWithPosition:ghost.position radius:ghost.contentSize.width  waves:4 amplitude:20 grid:ccg(40,40) duration:5.0];


    repeatt = [CCRepeatForever actionWithAction: ripple];
    [ghost runAction:repeatt ];

    [self addChild:ghost];

它为我的图像创建了涟漪动作,但我需要通过固定路径移动此图像..意味着,它需要通过 x 轴(0)移动到 x(500),然后在获得 x(500)后它需要开始从 x(0) repetdly.but 没有消除涟漪作用。

如何做到这一点提前谢谢。

4

1 回答 1

1

添加这两个方法,然后使用[self runMyAction:sprite];

- (void)moveActionComplete:(CCSprite*)sprite{
    sprite.position = ccp(0,600);
    [self runMyAction:sprite];
}

- (void)runMyAction:(CCSprite*)sprite{
    CCMoveTo *moveAction = [CCMoveTo actionWithDuration:30 position:ccp(500, 600)];
    CCCallFuncN *callbcak = [CCCallFuncN actionWithTarget:self selector:@selector(moveActionComplete:)];
    CCSequence *action = [CCSequence actions:moveAction, callbcak, nil];
    [sprite runAction:action];
}

此外,您的涟漪持续时间非常慢,这就是为什么它似乎不起作用的原因。增加您的移动持续时间,然后您将看到它何时缓慢移动并且可以看到涟漪效果。
玩时长

于 2012-07-09T15:49:10.407 回答