我怎样才能使自定义操作在特定时间间隔执行某些操作

How can i make a custom action execute something on specific intervals

所以每当我 运行 这个动作时,它会快速打印 hello world 3 秒(这正是我想要的),但它打印得太快了。我无法弄清楚的是如何在操作持续时间内的特定时间间隔(例如 1 秒间隔)打印 "hello world"。我尝试使用休眠功能,但没有用

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

还没有测试过,但也许这样的东西会起作用

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

它在 obj c 中,但你明白了

编辑

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

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

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

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