2014-08-27 114 views
6

我正在用SpriteKit在swift中制作第一个场景。我为尺寸为640x1136的4英寸iPhone创建了背景图像。我将图像作为精灵放置在屏幕中央,但图像不是全屏,缺少边缘。Swift&SpriteKit:全屏图像

接下来,我试图调整应用程序内的图像大小。当我做了image.size.height = self.size.height高度得到适当的iPhone屏幕全尺寸调整。 但是,当我做了相同的宽度image.size.width = self.size.width那么图片得到了非常宽的明智。

我打印的尺寸为self.size,结果我的iPhone 5的尺寸为1024,768。这完全是废话,因为屏幕不能比iPhone上的高度更宽。该应用程序是通用的,但唯一的方向是设置为肖像。

编辑:这是我用它来把图像在屏幕上的代码

class GameScene: SKScene 
{ 
    let menuImage = SKSpriteNode(imageNamed: "menuImage") 

    override func didMoveToView(view: SKView) 
    { 
     /* Setup your scene here */ 

     menuImage.anchorPoint = CGPointMake(0.5, 0.5) 
     menuImage.size.height = self.size.height 
     menuImage.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) 

     self.addChild(menuImage) 
    } 
+0

你确定你的模拟器是不是iPhone 5s? – 2014-08-27 13:15:00

+0

我在我的iPhone 5s和iPhone 5s的模拟器上测试它,并且它们做同样的事情 – Sam 2014-08-27 13:40:54

+0

为什么如果它需要768 * 1024,使图像640 * 1136? – 2014-08-27 13:45:16

回答

8

你需要在你gameViewController文件只是skView.presentScene(scene)之前添加scene.size = skView.bounds.size

+1

谢谢。这解决了错误调整大小的问题。 – Sam 2014-08-27 14:29:43