我试图显示一些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
不是屏幕的实际高度。
有谁知道如何解决这个问题?
答案 0 :(得分:4)
[UIScreen mainScreen].bounds.size
返回一个CGSize,其中包含屏幕的宽度和高度。请参阅UIScreen Apple documentation。
答案 1 :(得分:0)
[UIScreen mainScreen].bounds.size
应返回宽度和高度的正确CGSize
向量。但是,如果您处于风景中,那么价值观将被颠倒,那么您对肖像的期望是什么。