如何在 SpriteKit 中创建图像节点? Swift 4
How do I create an image node in SpriteKit? Swift 4
有人在我的其他问题之一中告诉我 SpriteKit
比 UI
更容易。我在网上搜索了如何开始使用 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)
}
}
(他们告诉我输入的代码),当我 运行 它时,我只看到一个空白屏幕。在教程上,它有一个忍者,但我的只是一个空白屏幕。
有人可以帮忙吗?
如果屏幕是白色的,试试这个:
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
}
}
有人在我的其他问题之一中告诉我 SpriteKit
比 UI
更容易。我在网上搜索了如何开始使用 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)
}
}
(他们告诉我输入的代码),当我 运行 它时,我只看到一个空白屏幕。在教程上,它有一个忍者,但我的只是一个空白屏幕。
有人可以帮忙吗?
如果屏幕是白色的,试试这个:
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
}
}