iOS SpriteKit节点位置

时间:2014-11-10 21:45:58

标签: ios position sprite-kit landscape-portrait

我是一个新的Sprite工具包,我想在场景中添加一些节点。 我的问题是职位:

如果我把:

SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Poligon"];
sprite.xScale = 0.5;
sprite.yScale = 0.5;
sprite.position = CGPointMake(40, 400);
当iPhone处于横向模式时,它看起来是正确的,但当它处于纵向状态时,它会从屏幕上消失。

我的猜测是从景观中获取坐标并将其放在屏幕的右侧。这可以解释为什么节点在纵向模式下不可见。

我的问题是如何设置iPhone默认采用纵向模式?

1 个答案:

答案 0 :(得分:2)

显然精灵小子在横向模式下启动并在帐户轮换之前启动viewDidLoad。因此,即使您将方向设置为纵向,纵向模式下的坐标系也会移动。

enter image description here

解决方案根据:

http://www.ymc.ch/en/ios-7-sprite-kit-setting-up-correct-scene-dimensions

是将场景设置为不在viewDidLoad上,而是在

- (void)viewWillLayoutSubviews

这是在设置了方向后运行的。