Cocos2d iphone CCLabelTTF多行标签不工作
我正在尝试使用CCLabelTTF在cocos2d1.0中创建多行标签。我试过我遇到的例子,但似乎都不管用。这是我的Cocos2d iphone CCLabelTTF多行标签不工作,cocos2d-iphone,multiline,cclabelttf,Cocos2d Iphone,Multiline,Cclabelttf,我正在尝试使用CCLabelTTF在cocos2d1.0中创建多行标签。我试过我遇到的例子,但似乎都不管用。这是我的 CCLabelTTF *storeLabelHeading = [CCLabelTTF labelWithString:@"Here is a really long string that I want to wrap" dimensions: CGSizeMake(200
CCLabelTTF *storeLabelHeading = [CCLabelTTF labelWithString:@"Here is a really long string that I want to wrap"
dimensions: CGSizeMake(200,0)
alignment: NSTextAlignmentCenter
lineBreakMode: NSLineBreakByWordWrapping
fontName:@"Marker Felt" fontSize: 24];
storeLabelHeading.color = ccc3(0,0,0);
[storeLabelHeading setAnchorPoint:ccp(0,0)];
storeLabelHeading.position = ccp(screenSize.width * 0.35f,
screenSize.height * 0.85);
[self addChild:storeLabelHeading z:kStoreLayer+10];
我试过各种尺寸。如果使用CGSizeMake(0,0),则将显示标签,但不会显示换行符(我认为这是预期的)。但任何其他值都不会显示任何内容。我做错了什么?您还需要给出标签的高度尺寸。现在您正在传入200,0,请尝试传入非零高度您还需要给出标签的高度维度。现在你通过了200,0,试着通过一个非零高度根据你的问题,我得到了与cocos2d 2.0相同的结果,没有换行符。但是,我让它正常工作:
CCTexture2D *tex =[ [[CCTexture2D alloc]
initWithString:@"Here is a really long string that I want to wrap wrap wrap"
dimensions:CGSizeMake(120, 120)
hAlignment:kCCTextAlignmentCenter
vAlignment:kCCVerticalTextAlignmentCenter
lineBreakMode:kCCLineBreakModeWordWrap
fontName:@"Marker Felt"
fontSize:24 ] autorelease];
CCSprite *spr = [CCSprite spriteWithTexture:tex];
[self addChild:spr];
spr.position=ccp(kScreenWidth/2,kScreenHeight/2);
奇怪的是,当通过CCLabelTTF CTF时,它失败了。然而,CCLabelTTF使用它来创建标签。这可能与管道中某个地方的垂直线形处理不当有关
附言:这也行
CCLabelTTF *storeLabelHeading = [CCLabelTTF labelWithString:@"Here is a really long string that I want to wrap"
dimensions: CGSizeMake(120,120)
hAlignment: kCCTextAlignmentLeft
lineBreakMode: kCCLineBreakModeWordWrap
fontName:@"Marker Felt" fontSize: 24];
storeLabelHeading.verticalAlignment=kCCVerticalTextAlignmentCenter;
storeLabelHeading.color = ccc3(0,0,0);
[storeLabelHeading setAnchorPoint:ccp(0,0)];
storeLabelHeading.position = ccp(kScreenWidth * 0.35f,
kScreenHeight * 0.85);
[self addChild:storeLabelHeading z:1+10];
[storeLabelHeading setString:@"Here is a really long string that I want to wrap wrap wrap"];
在将垂直对齐设置为中心后,设置字符串将使CCLabelTTF ctor“不中断”。根据您的问题,我使用cocos2d 2.0获得相同的结果,无换行符。但是,我让它正常工作:
CCTexture2D *tex =[ [[CCTexture2D alloc]
initWithString:@"Here is a really long string that I want to wrap wrap wrap"
dimensions:CGSizeMake(120, 120)
hAlignment:kCCTextAlignmentCenter
vAlignment:kCCVerticalTextAlignmentCenter
lineBreakMode:kCCLineBreakModeWordWrap
fontName:@"Marker Felt"
fontSize:24 ] autorelease];
CCSprite *spr = [CCSprite spriteWithTexture:tex];
[self addChild:spr];
spr.position=ccp(kScreenWidth/2,kScreenHeight/2);
奇怪的是,当通过CCLabelTTF CTF时,它失败了。然而,CCLabelTTF使用它来创建标签。这可能与管道中某个地方的垂直线形处理不当有关
附言:这也行
CCLabelTTF *storeLabelHeading = [CCLabelTTF labelWithString:@"Here is a really long string that I want to wrap"
dimensions: CGSizeMake(120,120)
hAlignment: kCCTextAlignmentLeft
lineBreakMode: kCCLineBreakModeWordWrap
fontName:@"Marker Felt" fontSize: 24];
storeLabelHeading.verticalAlignment=kCCVerticalTextAlignmentCenter;
storeLabelHeading.color = ccc3(0,0,0);
[storeLabelHeading setAnchorPoint:ccp(0,0)];
storeLabelHeading.position = ccp(kScreenWidth * 0.35f,
kScreenHeight * 0.85);
[self addChild:storeLabelHeading z:1+10];
[storeLabelHeading setString:@"Here is a really long string that I want to wrap wrap wrap"];
将垂直对齐设置为中心后,设置字符串将使CCLabelTTF ctor“不断裂”。(200,0)。。。。尝试将边界框设置为适当的大小。我超调了,并将垂直对齐设置为中心。@YvesLeBorg我也试过了。将垂直尺寸设置为0应该使其没有边界。但我尝试了非零值,但这不起作用,因为CoCos2D v2.x在iOS 9设备上也存在类似问题,即使使用iOS SDK 9编译也是如此。iOS 8设备仍然会断线。更新:iOS9设备上的换行符无法与
kCCVerticalTextAlignmentCenter
配合使用,因为某种原因,当我更改为kCCVerticalTextAlignmentTop
时,它神奇地开始工作…(200,0)。。。。尝试将边界框设置为适当的大小。我超调了,并将垂直对齐设置为中心。@YvesLeBorg我也试过了。将垂直尺寸设置为0应该使其没有边界。但我尝试了非零值,但这不起作用,因为CoCos2D v2.x在iOS 9设备上也存在类似问题,即使使用iOS SDK 9编译也是如此。iOS 8设备仍然会断线。更新:iOS9设备上的换行器无法使用kCCVerticalTextAlignmentCenter
出于某种原因,当我更改为kCCVerticalTextAlignmentTop
时,它神奇地开始工作……因为我使用的是cocos2d v1.0,我无法获得第二个建议,因为垂直对齐似乎没有实现。但是我确实得到了第一个建议,因为我使用的是CoCoS2DV1.0,所以我无法得到第二个建议,因为垂直对齐似乎没有实现。但我确实得到了第一个工作建议。