首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不能用SKLabelNode垂直定位anchorPoint

不能用SKLabelNode垂直定位anchorPoint
EN

Stack Overflow用户
提问于 2013-09-30 21:05:55
回答 4查看 6.7K关注 0票数 9

我想做一个文字为基础的游戏使用雪碧套件(一个学习打字游戏)。

我想我应该对字符串使用SKLabelNode,但是当我试图设置anchorPoint以旋转它时,我会得到一个错误,即SKLabelNode没有anchorPoint属性:

代码语言:javascript
代码运行次数:0
运行
复制
 SKLabelNode *hello = [SKLabelNode labelNodeWithFontNamed:@"Courier-Bold"];
 hello.text = @"Hello,";
//this throws an error:
 hello.anchorPoint = CGPointMake(0.5,1.0);

什么是好的解决办法?如何将文本字符串垂直定向,同时使用physicsBody将它们作为物理对象对待?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-03 15:28:30

最后,我意识到我根本不需要anchorPoint来实现我想要达到的目标--相反,我使用了

代码语言:javascript
代码运行次数:0
运行
复制
hello.zRotation = M_PI/2;

这适用于SKLabelNode。

票数 1
EN

Stack Overflow用户

发布于 2013-10-02 11:36:12

SKLabelNode没有锚点。

使用verticalAlignmentMode属性垂直对齐SKLabelNode。

代码语言:javascript
代码运行次数:0
运行
复制
SKLabelVerticalAlignmentModeBaseline

定位文本,以便字体的基线位于节点的原点上.

代码语言:javascript
代码运行次数:0
运行
复制
SKLabelVerticalAlignmentModeCenter

垂直地将文本中心放在节点的原点上.

代码语言:javascript
代码运行次数:0
运行
复制
SKLabelVerticalAlignmentModeTop

将文本定位为文本的顶部位于节点的原点上.

代码语言:javascript
代码运行次数:0
运行
复制
SKLabelVerticalAlignmentModeBottom

将文本定位为文本的底部位于节点的原点上.

ref/doc/uid/TP40013022-CH1-SW15

票数 15
EN

Stack Overflow用户

发布于 2013-09-30 21:31:11

您可以将SKLabelNode添加为SKSpriteNode的子级。然后将anchorPoint (和旋转等)应用于父节点:

代码语言:javascript
代码运行次数:0
运行
复制
- (SKSpriteNode *)testNode {
SKSpriteNode *testNode = [[SKSpriteNode alloc] init];//parent
SKLabelNode *hello = [SKLabelNode labelNodeWithFontNamed:@"Courier-Bold"];//child
hello.text = @"Hello,";
[testNode addChild:hello];
testNode.anchorPoint = CGPointMake(0.5,1.0);
testNode.position=CGPointMake(self.frame.size.width/2,self.frame.size.height/2);
return testNode;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19103829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档