1

我有一个改变纹理的精灵(基本上不同的颜色)。我想在 30 秒内更改纹理,而不是立即更改。我怎样才能做到这一点?另外,我怎样才能重复这个过程?所以它应该在蓝色停留 30 秒,然后变为红色。然后再次重复该过程

   sprite = [CCSprite spriteWithFile:@"blue.png"];
   [sprite setTexture:[[CCTextureCache sharedTextureCache] addImage:@"red.png"] ];
4

1 回答 1

1

试试这个:

id delayTime1 = [CCDelayTime actionWithDuration:2.0f];
id calFun1   = [CCCallBlock actionWithBlock:^{
    //HERE SET BLUE TEXTURE..

   sprite.color = ccc3(0,255,0);

}];
id delayTime2 = [CCDelayTime actionWithDuration:2.0f];
id calFun2   = [CCCallBlock actionWithBlock:^{
    //HERE SET RED TEXTURE..
   sprite.color = ccc3(255,0,0);

}];

id sequece = [CCSequence actions:delayTime1, calFun1, delayTime2, calFun2, nil];
id repeate = [CCRepeatForever actionWithAction:sequece];

[sprite runAction:repeate];
于 2012-10-31T09:22:12.373 回答