2012-10-31 28 views
1

我有一個精靈改變紋理(基本上不同的顏色)。我想在30秒內改變紋理不是瞬間的。我怎樣才能做到這一點?另外,我該如何重複這個過程?所以它應該保持藍色30秒,然後變成紅色。然後重複這個過程再次Cocos2d,如何用計時器更改精靈圖像並重復處理?

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

回答

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]; 
+0

我不認爲這會在我的情況下工作,萬一你知道如何精靈的顏色從藍色變爲紅色?有人對代碼 –

+0

改變了顏色cocos2d說sprite.color = ccGREEN; – Guru

+0

你也可以添加自定義顏色,sprite.color = ccc3(255,0,255); – Guru