SKSpriteNode не отображается - PullRequest
0 голосов
/ 03 марта 2019

, поэтому у меня есть этот код:

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, но это не помогло.

1 Ответ

0 голосов
/ 03 марта 2019

Я получил это, однако я не уверен, почему это работает, но я изменил точку привязки на (0,0), и все спрайты показывают !!

...