cocos2d: выравнивание текста LabelAtlas? - PullRequest
1 голос
/ 24 апреля 2009

Есть ли в cocos2d 0.7.1 способ указать выравнивание текста в LabelAtlas?

Я использую LabelAtlas для оценки (отображается в верхнем правом углу), но когда оценка превышает 10, вторая цифра обрезается.

Я могу реализовать код, чтобы обнаружить это и переместить LabelAtlas, но есть ли способ заставить cocos2d сделать это для меня?

Спасибо.

Ответы [ 4 ]

2 голосов
/ 02 августа 2009

Пока это работает, у вас будет та же проблема, если счет превысит 1000.

Вы можете использовать свойство anchorPosition, чтобы изменить место, где определена позиция. Например; в моей игре я помещаю scoreLabel в нижний правый угол экрана. Чтобы он всегда был виден, я установил anchorPosition как нижний правый угол этикетки, а затем установил его position там, где я хочу, чтобы нижний правый угол этикетки был.

[scoreLabel setAnchorPoint:ccp(1, 0)];
[scoreLabel setPosition:ccp(480, 0)];

Если вы хотите, чтобы он располагался в верхнем правом углу экрана, то вы также можете использовать следующий код для определения привязки в качестве верхнего правого угла.

[scoreLabel setAnchorPoint:ccp(1, 1)];
[scoreLabel setPosition:ccp(480, 320)];
2 голосов
/ 23 октября 2009

Я просто использую это, чтобы центрировать мои LabelAtlas:

[scoreLabel setAnchorPoint:ccp(.5, .5)];

Когда изменяется оценка, метка остается выровненной по центру без обновления позиции.

1 голос
/ 02 июля 2009

FWIW, я написал код для этого.

    if(delegate.score > 99) {
        [scoreLabel setPosition:ccp(374, 265)];
    } else if(delegate.score > 9) {
        [scoreLabel setPosition:ccp(410, 265)];
    }
0 голосов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...