0

私はこのドキュメントを読み、次のように宣言します。

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

しかし、そのショーの警告:セレクターのクラスメソッドがわかりません...誰かが私を助けることができますか?

4

2 に答える 2

1

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];
于 2014-04-16T10:19:27.233 に答える
1

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 バージョンに有効です。まだドキュメントを更新する必要があると思います。

次のように、上記の 4 つの方法のいずれかを使用する必要があります。

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

上記のように、これはコンストラクターを内部的に呼び出します。

于 2014-04-16T10:33:02.307 に答える