2010-11-07 15 views
0

我有一個可變數組的CCLabels。在cocos2d上改變顏色CCLabel

label.color = ccc3(0,0,0); 

在不同點我想換一個給定的標籤的顏色:當我創建標籤的陣列,我使用標籤的顏色設置爲黑色。

我試過以下方法,但沒有成功。

-(void)updateLabel:(CCLabel*)l{ 
     [l setColor: ccc3(1.0,1.0,0.0)]; 
    } 

我知道我有一個有效的指針標籤,因爲如果我改變了方法

[l setString:@"test"]; 

它正確地改變了標籤。但顏色不會改變。我沒有看到文檔中的任何內容表明顏色一旦設置就不可變。那麼有誰知道可能會發生什麼?

回答

1

它不需要浮動,它需要字節值。所以,下面的工作:

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

or 

[label setColor: ccc3(255, 255, 0)]; 
-1
//create Label like this 
CCLabelBMFont *lblInfo = [CCLabelBMFont labelWithString:@"Multi Color Label" fntFile:@"SSPro.fnt"]; 

then, you can Access the character using Index path. 

    for (i=starting index; i<ending index; i ++) { 

     CCSprite *charSprite = (CCSprite *)[[lblInfo children] objectAtIndex:i]; 
     charSprite.color = [CCColor redColor]; 
    } 
set or change the color of character.