我想做一个文字为基础的游戏使用雪碧套件(一个学习打字游戏)。
我想我应该对字符串使用SKLabelNode,但是当我试图设置anchorPoint以旋转它时,我会得到一个错误,即SKLabelNode没有anchorPoint属性:
SKLabelNode *hello = [SKLabelNode labelNodeWithFontNamed:@"Courier-Bold"];
hello.text = @"Hello,";
//this throws an error:
hello.anchorPoint = CGPointMake(0.5,1.0);
什么是好的解决办法?如何将文本字符串垂直定向,同时使用physicsBody将它们作为物理对象对待?
发布于 2013-10-03 15:28:30
最后,我意识到我根本不需要anchorPoint来实现我想要达到的目标--相反,我使用了
hello.zRotation = M_PI/2;
这适用于SKLabelNode。
发布于 2013-10-02 11:36:12
SKLabelNode没有锚点。
使用verticalAlignmentMode
属性垂直对齐SKLabelNode。
SKLabelVerticalAlignmentModeBaseline
定位文本,以便字体的基线位于节点的原点上.
SKLabelVerticalAlignmentModeCenter
垂直地将文本中心放在节点的原点上.
SKLabelVerticalAlignmentModeTop
将文本定位为文本的顶部位于节点的原点上.
SKLabelVerticalAlignmentModeBottom
将文本定位为文本的底部位于节点的原点上.
发布于 2013-09-30 21:31:11
您可以将SKLabelNode添加为SKSpriteNode的子级。然后将anchorPoint (和旋转等)应用于父节点:
- (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;
}
https://stackoverflow.com/questions/19103829
复制相似问题