2015-11-12 61 views
1

我在ScaleToFillAspectFit中创建了一个场景。两者都不起作用,因为他们应该让我思考,代码可能会搞砸。首先,我向您展示模式的两张照片:SpriteKit:缩放无法正常工作

ScaleToFit(底部和顶部的一点点白色)ScaleToFit(Bottom and a little bit of the top is white) AspectFit(不使用整个屏幕) AspectFit(Doesn't use the whole screen)

而继代码中,我用它来创建墙:

override func didMoveToView(view: SKView) { 
    screenHeight = self.size.height 
    width = screenHeight/CGFloat(fieldsX) 
    print(self.size.height) 
    print(self.size.width) 
    calculateStartPoint() 
    createPositionForWalls() 
    fillScreenWithWalls() 
} 

func fillScreenWithWalls(){ 
    for(var i = 1; i <= fieldsX; i++){ 
     for(var j = 1; j <= fieldsY; j++){ 
      if(fieldArray[j-1][i-1] == 1){ 
       let xPos = (CGFloat(i) * width - width/2) 
       let yPos = screenHeight-(width/2) - CGFloat(j) * width 
       addWall(xPos, yPos: yPos) 
      } 
     } 
    } 
} 

基本上我只是缩放所有fieldsX所以他们应该完全适合在屏幕上,然后我添加一些fieldsY因为我想(我想有1场免费的底部)。我不明白的另一件事是为什么fps和节点计数器不可见。

回答

0

使用.ResizeFill以某种方式工作。我仍然不明白为什么.AspectFit输出屏幕截图。

相关问题