如何使自定义操作在特定时间间隔内执行某些操作

时间:2015-08-19 19:49:12

标签: sprite-kit swift2 skaction

所以每当我运行这个动作时,它会快速打印你好世界3秒钟(这就是我想要的),但它打印速度太快了。我不知道的是如何在动作持续时间内以一定的间隔打印“你好世界”(例如1秒间隔)。我尝试使用睡眠功能,但它没有工作

let waitAndPrint = SKAction.customActionWithDuration(3) {
            _, _ in
    print("hello world")    
 }

2 个答案:

答案 0 :(得分:2)

你可以通过行动来实现你想要实现的目标:

let block = SKAction.runBlock{
    println("hello world")
}

scene.runAction(SKAction.repeatAction(SKAction.sequence([block, SKAction.waitForDuration(1.0)]), count: 3))

答案 1 :(得分:1)

没有测试过,但也许这样的事情会起作用

for (int i = 1; i <= 3; i++) //<-where 3 is the number of seconds over which you want this event to occur. 
{
    [self performSelector:@selector(printHelloWorld:) withObject:self afterDelay:i];
}

-(void) printHelloWorld:(id)sender 
{
    NSLog(@"hello world")
}

这是对象,但你明白了

修改

Per Whirlwind的推荐,我已将afterDelay:1更改为afterDelay:i。我还通过在printHelloWorld之后添加冒号来修复选择器语法错误。