SKScene的更新功能似乎不起作用

问题描述 投票:0回答:0

我是 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")
    }
}

我使用 update() 错了吗? SwiftUI 的 SpriteView 和 SKScene 之间是否存在某种冲突?

编辑:我发现删除

skView.presentScene(scene)

允许 update() 工作-但它不会渲染任何精灵/动画。

ios swift sprite-kit skscene
© www.soinside.com 2019 - 2024. All rights reserved.