如何在SpriteKit中每30秒重复一次动作?

发布于 2025-01-21 19:45:53 字数 600 浏览 0 评论 0原文

在我的SpriteKit项目中,我想将变量切换一秒钟,然后将其解开一次,每30秒:

这是我处理计时器的方式:

override func didMove(to view: SKView) {
     DispatchQueue.main.asyncAfter(deadline: .now(), execute: {
            self.myTimer()
     })
 }

func myTimer() {
        
        run(.wait(forDuration: 1), completion: {
            self.timer += 1
            
            //This is how I use them after 30 seconds
            self.timer > 29 ? self.goldBottle = true : nil
            self.timer > 30 ? self.goldBottle = false : nil

            self.myTimer()
        })
    }

我该怎么办?任何建议都将被赞赏

In my SpriteKit project I would like to toggle a variable for a second and then untoggle it, every 30 seconds:

This is how I handle the timer:

override func didMove(to view: SKView) {
     DispatchQueue.main.asyncAfter(deadline: .now(), execute: {
            self.myTimer()
     })
 }

func myTimer() {
        
        run(.wait(forDuration: 1), completion: {
            self.timer += 1
            
            //This is how I use them after 30 seconds
            self.timer > 29 ? self.goldBottle = true : nil
            self.timer > 30 ? self.goldBottle = false : nil

            self.myTimer()
        })
    }

What can I do? Any suggestion is appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文