Вопрос

I read this document and declare like that:

CCLabelTTF *label = [CCLabelTTF initWithString: @"a" fontName: @"HelveticaNeue" fontSize: 24 dimensions: CGSizeMake(320,480) hAlignment: CCVerticalTextAlignmentTop];

but its show warning: no know class method for selector... anybody can help me?

Это было полезно?

Решение

In Cocos2d V3, the cclabelTTF is changed. The available methods in CCLabelTTF.m are only:

+ (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];
 }

So your implementation is not correct in COCOS2d V3. That is valid for V2 version. I think still document needs to be updated.

You should use any of the above four methods, like:

CCLabelTTF *label = [CCLabelTTF labelWithString@"a" fontname:@"Arial" fontsize:12 dimension:(CGSize)dimensions];
   label.verticalAlignment = ******
 or
   label.horizontalAlignment = ****

This will call the constructor internally as mentioned above.

Другие советы

initWithString... is not a static method so you need to allocate the CCLabelTTF first:

CCLabelTTF *label = [[CCLabelTTF alloc] initWithString: @"a" fontName: @"HelveticaNeue" fontSize: 24 dimensions: CGSizeMake(320,480) hAlignment: CCVerticalTextAlignmentTop];

Or you could use the static methods:

CCLabelTTF *label = [CCLabelTTF labelWithString: @"a" fontName: @"HelveticaNeue" fontSize: 24 dimensions: CGSizeMake(320,480) hAlignment: CCVerticalTextAlignmentTop];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top