swift - 无法将场景编辑器中的 SKSpriteNode 引用到代码中
问题描述
我创建了一个GameScene.sks
文件,添加了一个 Color Sprite,并为其命名dino
。然后在GameViewController
,
override func viewDidLoad() {
let scene = GameScene(size: view.bounds.size)
let skView = view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .resizeFill
skView.presentScene(scene)
}
我有GameScene.swift
看起来像
class GameScene: SKScene {
//let player = SKSpriteNode(imageNamed: "dino-left")
private var dino: SKSpriteNode? = SKSpriteNode()
private var dinoWalkingFrames: [SKTexture] = []
override func didMove(to view: SKView) {
self.backgroundColor = NSColor.white
if let someDino = self.childNode(withName: "dino") as? SKSpriteNode {
// ... does not works -->
dino = someDino
dino?.physicsBody?.isDynamic = false
print("Worked")
} else {
initDino() // --> this works
initBackground()
}
}
func initDino() {
// manually load image from texture atlas and add using addChild
// ...
}
// ...
}
参考self.childNode(withName: "dino") as? SKSpriteNode
是nil
。如何从场景编辑器中引用精灵,而无需使用代码手动初始化和放置它?
解决方案
推荐阅读
- python - 了解一个 LSTM 模型的概要
- ansible - 有没有办法在 GitLab CI 中按计划触发 webhook?
- apache-kafka - Kafka 无法跟踪最后提交的偏移量
- azure - ARM 模板复制功能未从参数中选取值
- c# - System.Data.SqlClient.SqlException:“服务器主体“域\用户”无法在当前安全上下文下访问数据库“db2”。
- php - 在 wordpress 上为已注销的用户显示菜单项
- java - 数据库中的外键始终为空
- python - 我正在尝试使用 Tweepy 和 Python 制作 Twitter 机器人,但出现错误 215?
- c++ - 如果类在堆上,函数会进入堆还是堆栈?
- go - 从 github 问题中检索最新评论