• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何更新 waitForDuration 常量?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:29:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个闪光灯,它使用隐藏和取消隐藏圆形节点的 SKAction 序列。我希望能够根据两个按钮更改闪烁的间隔。我声明了一个变量 stdTime 并在 touchesBegan 方法中对其进行了更改,但它不起作用。我错过了什么?

我的 didMoveToView:

let blink = SKAction.sequence([
        SKAction.waitForDuration(stdTime),
        SKAction.hide(),
        SKAction.waitForDuration(stdTime),
        SKAction.unhide()])

    let blinkForever = SKAction.repeatActionForever(blink)

    metronome!.runAction(blinkForever)

和我的接触开始:

if upArrow!.containsPoint(location) {
            stdTime = stdTime + 0.1
            println("here: \(stdTime)")
        }



Best Answer-推荐答案


waitForDuration 接受 NSTimeInterval 而不是变量。因此,无论该变量在创建时设置为什么时间,它都不会引用您使用的变量。

根据您正在寻找的结果,这可能会有所帮助。

func startBlink(){
    let blink = SKAction.sequence([
        SKAction.waitForDuration(stdTime),
        SKAction.hide(),
        SKAction.waitForDuration(stdTime),
        SKAction.unhide()])

    let blinkForever = SKAction.repeatActionForever(blink)

    metronome!.removeActionForKey("blink")

    metronome!.runAction(blinkForever, withKey: "blink")
}


if upArrow!.containsPoint(location) {
    stdTime = stdTime + 0.1
    startBlink()
    println("here: \(stdTime)")
}

另一个不中断顺序的选择是做这样的事情

func startBlink(){

    let blink = SKAction.sequence([
        SKAction.waitForDuration(stdTime),
        SKAction.hide(),
        SKAction.waitForDuration(stdTime),
        SKAction.unhide(),
        SKAction.runBlock( {
            self.startBlink()
        })])

    metronome?.runAction(blink, withKey: "blink")
}


if upArrow!.containsPoint(location) {
        stdTime = stdTime + 0.1
        println("here: \(stdTime)")
}

并自行递归调用该方法。这样每次到达终点时都会采用更新的 stdTime。

关于ios - 如何更新 waitForDuration 常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30718284/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap