cocos2d 0.7.1 中有没有办法在 LabelAtlas 中指定文本对齐方式?
我正在使用 LabelAtlas 作为分数(显示在右上角),但是当分数超过 10 时,第二个数字被切断。
我可以实现代码来检测并移动 LabelAtlas,但是有没有办法让 cocos2d 为我做这件事?
谢谢。
cocos2d 0.7.1 中有没有办法在 LabelAtlas 中指定文本对齐方式?
我正在使用 LabelAtlas 作为分数(显示在右上角),但是当分数超过 10 时,第二个数字被切断。
我可以实现代码来检测并移动 LabelAtlas,但是有没有办法让 cocos2d 为我做这件事?
谢谢。
虽然这有效,但如果分数超过 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)];
我只是用它来集中我的LabelAtlas
:
[scoreLabel setAnchorPoint:ccp(.5, .5)];
当分数改变时,标签保持中心对齐而不更新位置。
FWIW,我确实最终编写了代码来做到这一点。
if(delegate.score > 99) {
[scoreLabel setPosition:ccp(374, 265)];
} else if(delegate.score > 9) {
[scoreLabel setPosition:ccp(410, 265)];
}