1

このような:

    CCLabelBMFont *label=[CCLabelBMFont labelWithString:[objectDictionary objectForKey:@"Text"] fntFile:@"BasicFont.fnt"];
    [label setScale:[[objectDictionary objectForKey:@"Scale"]floatValue]];
    [label setPosition:ccp(objectPosition.x,objectPosition.y)];
    [self addChild:label];

plist ファイルからテキストを読み込もうとしました。plist ファイルのテキストは "Hello \n World" です。

同じように表示されます ("Hello \n World")。

ただし、[objectDictionary objectForKey:@"Text"]"Hello \n World"に置き換えると、2 行で表示されます。

また、「\n」を「/\n」または「\n」に変更しましたが、まだ機能しません。

4

3 に答える 3

1

cocos2d v2.0 では \n で改行できます。私のプロジェクトでは、単に like を使用しています

CCLabelBMFont *lblBonus = [CCLabelBMFont labelWithString:[NSString stringWithFormat:@"BONUS \n %d",bonusScore] fntFile:@"myCustom.fnt"];
lblBonus.position = ccp(.....);
[self addChild:lblBonus];

cocos2d フォーラムには、コンテンツのアライメントを行うための投稿がほとんどありません。現在、投稿への直接リンクを覚えていません。ただし、複数行で検索すると確実に取得できます。誰か (Mark かもしれません) が素晴らしい仕事をしたことは知っていましたが、それは古いバージョンの cocos2d のためのものでした。

于 2013-09-19T20:05:00.550 に答える
1

次のように置き換え[objectDictionary objectForKey:@"Text"]てみてください。

[NSString stringWithString:[objectDictionary objectForKey:@"Text"]]
于 2013-08-05T14:10:55.407 に答える
0

おそらく、これは辞書がそれを文字「n」ではなく、リテラル「n」として理解して読み取るのに役立ちます。

テキスト区切りを機能させるためのより良い方法があると確信していますが、これを試すことができます...

NSString *Text = [dictionary objectForKey:key];
NSArray  *strings = [Text componentsSeparatedByString:@"_"];
if ([strings count] >= 2)
Text = [NSString stringWithFormat:@"%@n%@",[strings objectAtIndex:0],[strings       objectAtIndex:1]];

テキストに下線を追加して改行を取得します (これは、componentsSeparatedByString:@"_" を使用して行を分割する方法です)。

たとえば、辞書のテキストは次のようになります

Word_Words on other line_and now another line.

私はそれをテストしていませんが、正しい軌道に乗せるのに役立つことを願っています:)

于 2013-08-07T20:17:52.273 に答える