SKSpriteNode未显示

问题描述 投票:0回答:1

所以我有这个代码:

func addSprites() {
    for row in 0..<GameScene.rows {
      for col in 0..<GameScene.cols {
        let node = grid[row][col]
        if node != nil {
          addChild(node!)
          node?.position = CGPoint(x: (view!.frame.width/CGFloat(GameScene.cols))*CGFloat(col), y: (view!.frame.height/CGFloat(GameScene.rows))*CGFloat(row))
          print(node?.position)
        }
      }
    }
  }

并且网格数组有SKSpriteNodes,当我打印它时显示

enter image description here

这很好,因为我有SKSpriteNode的。

addSprites()输出

Optional((0.0, 207.0))
Optional((59.733333587646484, 207.0))
Optional((119.46666717529297, 207.0))
Optional((179.1999969482422, 207.0))
Optional((238.93333435058594, 207.0))
Optional((298.6666564941406, 207.0))
Optional((358.3999938964844, 207.0))
Optional((418.1333312988281, 207.0))
Optional((477.8666687011719, 207.0))
Optional((537.5999755859375, 207.0))
Optional((597.3333129882812, 207.0))
Optional((657.066650390625, 207.0))
Optional((716.7999877929688, 207.0))
Optional((776.5333251953125, 207.0))
Optional((836.2666625976562, 207.0))

这对应于节点的位置。但是在这里看到没有精灵显示:

enter image description here

当我在touchesBegan方法中打印触摸位置并看到点时,即使点完全相同,精灵也不显示。我怎样才能解决这个问题?此外,我在scene.scaleMode = .resizeFill尝试GameViewController,但是没有解决它。

swift sprite-kit skspritenode skscene
1个回答
0
投票

我得到了它,但是我不确定它为什么会起作用,但是我将锚点更改为(0,0)并且所有的精灵都显示出来!

© www.soinside.com 2019 - 2024. All rights reserved.