gpt4 book ai didi

objective-c - 使用不同的节点运行 SKActions 序列

转载 作者:太空狗 更新时间:2023-10-30 03:49:56 25 4
gpt4 key购买 nike

我知道我可以创建一个 SKAction.sequence,它将一个接一个地运行一个节点的 Action 。但是如果我想用不同的节点做一个序列,我该怎么做。我想做这样的事情:

  1. 从节点A运行 Action
  2. 等2秒
  3. 从节点 B 运行操作。

最佳答案

如果两个节点都是唯一命名的并且是同一节点的子节点,则可以使用runAction:onChildWithName:,如下所示:

SKAction *action = [SKAction sequence:
@[[SKAction runAction:[SKAction moveTo:CGPointMake(200.0f, 200.0f) duration:1.0f]
onChildWithName:@"NODEA"],
[SKAction waitForDuration:2.0f],
[SKAction runAction:[SKAction moveTo:CGPointMake(200.0f, 200.0f) duration:1.0f]
onChildWithName:@"NODEB"]]];

[parent runAction:action];

更一般地说,您可以使用 runBlock: 作为 SKAction 序列中的一个步骤执行几乎所有操作:

SKAction *action = [SKAction sequence:
@[[SKAction runBlock:^{
[nodeA runAction:[SKAction moveTo:CGPointMake(200.0f, 200.0f) duration:1.0f]];
}],
[SKAction waitForDuration:2.0f],
[SKAction runBlock:^{
[nodeB runAction:[SKAction moveTo:CGPointMake(200.0f, 200.0f) duration:1.0f]];
}]]];

[parent runAction:action];

关于objective-c - 使用不同的节点运行 SKActions 序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25823428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com