我是SpriteKit/iOS开发人员的超级新手,如果这是一个愚蠢的问题,我很抱歉.
我想要做的是在SwiftUI视图中呈现一个小游戏.除了由于某种原因,我的GameScene类中的update()函数根本不起作用之外,一切都运行得很完美.
精灵仍然会像往常一样活动和移动,但我不能给它们添加任何进一步的逻辑.
例如,以下代码永远不会打印出‘Hello world’:
class GameScene: SKScene
{
let loam = Loam() //little sprite character class
//sets up scene
override func didMove(to view: SKView)
{
let skView = view
//loads game scene
let scene = SKScene(size: skView.bounds.size)
scene.anchorPoint = CGPoint(x: 0.5, y: 0.5)
scene.backgroundColor = UIColor(red: 0.9412, green: 0.8274, blue: 0.7372,alpha: 0.5)
scene.addChild(loam.loam)
skView.presentScene(scene)
}
//called before each frame is rendered
override func update(_ currentTime: TimeInterval)
{
print("hello world")
}
}
我使用的更新()是错误的吗?SwiftUI的SpriteView和SKScene之间是否存在某种冲突?
编辑:我发现删除
skView.presentScene(scene)
允许UPDATE()工作--但之后它不会渲染任何精灵/动画.