所以我有这个代码:
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))
与节点的位置相对应。但是,这里没有显示精灵:
当我使用touchesBegan
方法打印触摸位置并看到点时,即使这些点完全相同,也不会显示精灵。我怎样才能解决这个问题?我也在scene.scaleMode = .resizeFill
中尝试过GameViewController
,但是并不能解决问题。
答案 0 :(得分:0)
我明白了,但是我不确定为什么它起作用,但是我将锚点更改为(0,0),所有的精灵都显示了!