如何在SpriteKit中创建图像节点?Swift 4

8
有人告诉我在我的其他问题中,SpriteKitUI更容易。我在网上搜索了如何开始使用SpriteKit,并找到了这个链接:https://www.raywenderlich.com/145318/spritekit-swift-3-tutorial-beginners。我已经添加了图片,并将以下代码插入其中:
import SpriteKit

class GameScene: SKScene {

  // 1
  let player = SKSpriteNode(imageNamed: "player")
  override func didMove(to view: SKView) {
     // 2
     backgroundColor = SKColor.white
     // 3
     player.position = CGPoint(x: size.width * 0.1, y: size.height * 0.5)
     // 4
     addChild(player)
  }
}

他们告诉我要放的代码,但当我运行它时只看到一个空白的屏幕。在教程中有一个忍者,但我的却只是一个空白的屏幕。

有人能帮忙解决这个问题吗?


尝试将其放置在0,0位置... 如果“player”是您的资产项目中可访问的图像? - Jean-Baptiste Yunès
尝试为玩家添加zPosition属性 player.zPosition = 1 - Ron Myschuk
1个回答

11

如果屏幕是白色的,请尝试以下方法:

import SpriteKit

class GameScene: SKScene {

  // 1
  var player = SKSpriteNode()
  override func didMove(to view: SKView) {
     // 2
     backgroundColor = SKColor.white
     // 3
     let image = UIImage(named: "player")
     let texture = SKTexture(image: image!)
     player = SKSpriteNode(texture: texture)
     player.position = CGPoint(x: size.width * 0.1, y: size.height * 0.5)
     // 4
     addChild(player)
  }
}

如果屏幕不是白色:确保场景呈现正确。

如果您有GameScene.sks文件:

在GameViewController中:

override func viewDidLoad() {
    super.viewDidLoad()

    if let view = self.view as! SKView? {
        // Load the SKScene from 'GameScene.sks'
        let scene = SKScene(fileNamed: "GameScene")
        scene.scaleMode = .aspectFill
        view.presentScene(scene)

        view.ignoresSiblingOrder = true
        view.showsFPS = true
        view.showsNodeCount = true
    }
}
如果您没有GameScene.sks文件
在GameViewController中:
override func viewDidLoad() {
    super.viewDidLoad()

    if let view = self.view as! SKView? {
        // Load the SKScene from 'GameScene.sks'
        let scene = GameScene(size : view.frame.size)
        scene.scaleMode = .aspectFill
        view.presentScene(scene)

        view.ignoresSiblingOrder = true
        view.showsFPS = true
        view.showsNodeCount = true
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接