4

我尝试显示一些SKNodes,并使用屏幕的宽度和高度来设置它们的位置,以使它们与不同的屏幕尺寸兼容。

SKNode* obstacle = [SKSpriteNode spriteNodeWithColor:[SKColor greenColor] size:obstacleSize];
obstacle.position = CGPointMake(80, self.size.height * 0.38);
obstacle.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:obstacle.frame.size];

但是当我以不同的屏幕尺寸运行程序时,节点的位置仍然会发生变化(3.5 英寸很好,但 4 英寸错误)。我发现这self.size.height不是屏幕的实际高度。

有谁知道如何解决这个问题?

4

2 回答 2

4

[UIScreen mainScreen].bounds.size返回具有屏幕宽度和高度的 CGSize。请参阅UIScreen Apple 文档

于 2014-02-02T06:54:35.513 回答
0

[UIScreen mainScreen].bounds.size应该返回正确CGSize的宽度和高度向量。但是,如果您处于横向状态,则值将反转,那么您对纵向的期望。

于 2015-04-29T09:20:17.750 回答