如何在SpriteKit中创建图像节点?斯威夫特4

时间:2018-03-09 04:45:42

标签: swift sprite-kit skspritenode

有人在我的其他一个问题中告诉我,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)
  }
}

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

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

如果屏幕为白色,请尝试:

import socket

addr1 = socket.gethostbyname_ex('google.com')

print(addr1)

如果屏幕不是白色:确保场景正确显示。

如果你有GameScene.sks:

在GameViewController中:

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
    }
}

答案 1 :(得分:0)

我讨厌自己;我需要做的就是将其添加到addChild

的开头
self.

(我还必须使用@mazen答案才能显示scene