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