所以我有这个代码:
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,当我打印它时,它会显示
这很好,因为我里面有 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))
这对应于节点的位置。但是,如图所示,没有显示 Sprite :
当我在 touchesBegan
方法中打印触摸位置并看到这些点时,即使这些点完全相同, Sprite 也不会显示。我怎样才能解决这个问题?我还在 GameViewController
中尝试了 scene.scaleMode = .resizeFill
,但这并没有解决问题。
最佳答案
我明白了,但我不确定它为什么起作用,但我将 anchor 更改为(0,0)并且所有 Sprite 都显示了!!
关于swift - SKSpriteNode 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54962948/