0

我是 cocos2d 的新手,正在做一个项目,我需要在用户屏幕的中心显示随机文本消息(使用 NSString 中的值)。消息看起来像我想要的,但现在我需要格式化文本。大多数消息都是相当长的文本字符串,我想将它们换行并将它们限制在屏幕中心的一个矩形中。

目前,我使用以下代码将它们定位:

CGSize size = [[CCDirector sharedDirector] winSize];

    label2.position =  ccp( size.width /2 , size.height/2 );

这使消息居中很好,但它们左右延伸到屏幕之外。我试过使用 lineBreakMode: LineBreakModeWordWrap 没有成功。

有没有一种简单的方法可以将文本字符串限制在 iPad/iPhone/retina 设备上的居中矩形内(类似于 size.width /2 的定位)?

谢谢你的帮助,

达林

4

2 回答 2

0
CGSize size = [[CCDirector sharedDirector] winSize];

CCLabelTTF *l = [CCLabelTTF labelWithString:@"longTextHere" dimensions:CGSizeMake(300,75) alignment:UITextAlignmentCenter lineBreakMode:UILineBreakModeMiddleTruncation fontName:@"Arial" fontSize:30];
l.position = ccp( size.width /2 , size.height/2 );
[self addChild:l];

2.1版看这里 http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_label_t_t_f.html

CCLabelTTF *label = [CCLabelTTF labelWithString:@"label" fontName:@"Arial" fontSize:30 dimensions:CGSizeMake(300,75) hAlignment:kCCTextAlignmentCenter  lineBreakMode::kCCLineBreakModeWordWrap];
于 2013-08-08T15:06:26.320 回答
0

尝试

label2.numberOfLines = 0;

这允许标签延伸到多行。

于 2013-08-02T19:28:54.783 回答