我是一名iphone游戏开发者。现在我正在开发一个儿童书籍应用程序。为此,我需要改变cclabel的颜色,用一个声音来逐字改变背景中的文字。使其作为初始过程
NSString *pstring1 = @"The moon is a big eye";
int ix = 600,iy = 300;
NSArray *str1 = [pstring1 componentsSeparatedByString:@" "];
NSLog(@"str1 %@",str1);
for(NSString* st in str1)
{
CCLOG(@"STRING IS %@ POSITION IS %d",st,ix);
CGFloat wid= 0;
CGFloat ss = [st sizeWithFont: [UIFont systemFontOfSize:25]].width;
wid = ss+(ss/10);
CCLabelTTF * labels = [CCLabelTTF labelWithString:st fontName:@"Marker Felt" fontSize:25 ];
[labels setPosition:CGPointMake(ix, iy)];
[labels setColor:ccBLUE];
ix+=wid+5;
[self addChild:labels];
例如,我用白色空格分隔了一个字符串,并将其添加到NSArray中。在for循环中,我使用sizeWithFont逐个获取数组中字符串的文本宽度,并将其添加为CGFloat值。我正在为数组中的每个单词创建cclabel,并根据单词的大小增加宽度大小数组中的宽度保存在CGFloat中。问题是每个cclabel之间有更多的空白区域或者它们彼此合并。我不知道我是正确还是错误输出看起来像这个http://screencast.com/t/p8Rj8GKZ。请帮我解决这个问题。如果这个问题被整理出来意味着我将使用计时器并更改每个cclabel的颜色以显示单词到单词的颜色变化效果。
答案 0 :(得分:1)
最后我解决了上面提到的问题
我刚刚将标签的内容大小设置为零,现在一个单词与另一个单词之间的所有不需要的空白区域都消失了
[labels setContentSize:CGSizeZero];