Я создал SKScene и использовал addChild, чтобы поместить свой SKSpriteNode в сцену. Это указывает на то, что узел находится внизу справа, но спрайта не видно. Кажется, все выглядит правильно, но результатов нет. Мой scene.scaleMode - .aspectFill, я убедился, что SKSpriteNode (imageNamed: "GreenBlock") правильный. Я смотрел его так много раз, но для меня не имеет смысла, почему он не будет отображаться на экране ...
Это такая простая задача. Я видел, как другие делают то же самое, и это работает. Я перепробовал все, что мог придумать ...
My View Controller
import UIKit
import SpriteKit
class GreenSnakeController: UIViewController {
override func loadView() {
self.view = SKView()
}
override func viewDidLoad() {
super.viewDidLoad()
if let SKView = self.view as! SKView? {
let scene = GameScene(size: view.bounds.size)
SKView.ignoresSiblingOrder = true
SKView.showsFPS = true
SKView.showsNodeCount = true
scene.scaleMode = .resizeFill
SKView.presentScene(scene)
}
self.navigationController?.navigationBar.isHidden = true
}
override func viewDidAppear(_ animated: Bool) {
navigationController?.navigationBar.barStyle = .black
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
override var prefersHomeIndicatorAutoHidden: Bool {
return true
}
}
Класс моей игровой сцены
import UIKit
import SpriteKit
class GameScene: SKScene {
var snakeBlock: SKSpriteNode!
override func didMove(to view: SKView) {
layoutScene()
}
func layoutScene() {
backgroundColor = #colorLiteral(red: 0.262745098, green: 0.262745098, blue: 0.262745098, alpha: 1)
snakeBlock = SKSpriteNode(imageNamed: "GreenBlock")
snakeBlock.size = CGSize(width: frame.size.width/8.0, height: frame.size.width/8.0)
snakeBlock.position = CGPoint(x: frame.midX, y: frame.midY)
addChild(snakeBlock)
}
}
Я ожидаю, что что-то отобразится на экране, и хотя это указывает на наличие двух узлов, я не вижу ничего, кроме сцены, которая является первым узлом.