1

cocos2d 0.7.1 中有没有办法在 LabelAtlas 中指定文本对齐方式?

我正在使用 LabelAtlas 作为分数(显示在右上角),但是当分数超过 10 时,第二个数字被切断。

我可以实现代码来检测并移动 LabelAtlas,但是有没有办法让 cocos2d 为我做这件事?

谢谢。

4

4 回答 4

2

虽然这有效,但如果分数超过 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)];
于 2009-08-01T20:33:22.773 回答
2

我只是用它来集中我的LabelAtlas

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

当分数改变时,标签保持中心对齐而不更新位置。

于 2009-10-22T20:34:02.873 回答
1

FWIW,我确实最终编写了代码来做到这一点。

    if(delegate.score > 99) {
        [scoreLabel setPosition:ccp(374, 265)];
    } else if(delegate.score > 9) {
        [scoreLabel setPosition:ccp(410, 265)];
    }
于 2009-07-02T06:41:55.640 回答
0

http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:labels#alignment

于 2012-06-25T06:45:52.987 回答