我阅读了这份文件并这样声明:
CCLabelTTF *label = [CCLabelTTF initWithString: @"a" fontName: @"HelveticaNeue" fontSize: 24 dimensions: CGSizeMake(320,480) hAlignment: CCVerticalTextAlignmentTop];
但它的显示警告:不知道选择器的类方法......有人可以帮助我吗?
我阅读了这份文件并这样声明:
CCLabelTTF *label = [CCLabelTTF initWithString: @"a" fontName: @"HelveticaNeue" fontSize: 24 dimensions: CGSizeMake(320,480) hAlignment: CCVerticalTextAlignmentTop];
但它的显示警告:不知道选择器的类方法......有人可以帮助我吗?
initWithString... 不是静态方法,因此您需要先分配 CCLabelTTF:
CCLabelTTF *label = [[CCLabelTTF alloc] initWithString: @"a" fontName: @"HelveticaNeue" fontSize: 24 dimensions: CGSizeMake(320,480) hAlignment: CCVerticalTextAlignmentTop];
或者您可以使用静态方法:
CCLabelTTF *label = [CCLabelTTF labelWithString: @"a" fontName: @"HelveticaNeue" fontSize: 24 dimensions: CGSizeMake(320,480) hAlignment: CCVerticalTextAlignmentTop];
在 Cocos2d V3 中,更改了 cclabelTTF。CCLabelTTF.m 中可用的方法只有:
+ (id) labelWithString:(NSString *)string fontName:(NSString *)name fontSize: (CGFloat)size
{
return [[self alloc] initWithString:string fontName:name fontSize:size];
}
+ (id) labelWithString:(NSString *)string fontName:(NSString *)name fontSize:(CGFloat)size dimensions:(CGSize)dimensions
{
return [[self alloc] initWithString:string fontName:name fontSize:size dimensions:dimensions];
}
+ (id) labelWithAttributedString:(NSAttributedString *)attrString
{
return [[self alloc] initWithAttributedString:attrString];
}
+ (id) labelWithAttributedString:(NSAttributedString *)attrString dimensions:(CGSize)dimensions
{
return [[self alloc] initWithAttributedString:attrString dimensions:dimensions];
}
所以你的实现在 COCOS2d V3 中是不正确的。这对 V2 版本有效。我认为仍然需要更新文档。
您应该使用上述四种方法中的任何一种,例如:
CCLabelTTF *label = [CCLabelTTF labelWithString@"a" fontname:@"Arial" fontsize:12 dimension:(CGSize)dimensions];
label.verticalAlignment = ******
or
label.horizontalAlignment = ****
如上所述,这将在内部调用构造函数。