gpt4 book ai didi

ios - 如何更改永远运行的 SKAction

转载 作者:行者123 更新时间:2023-12-01 18:57:06 27 4
gpt4 key购买 nike

我有一个涉及两个 Action 的 SKAction 序列。 1) 根据变量等待时间 2) spawn 对象

SKAction *sequence = [SKAction sequence:@[
wait,
addObject]];

此操作设置为永远运行。但是,我希望等待持续时间根据更新变量而改变,但它保持不变,因为它在永远运行时不会采用新变量
[self runAction:[SKAction repeatActionForever:sequence]];

我如何使它稳定地增加值,从而增加对象的生成率?

谢谢

最佳答案

有两种解决方案:

  • 每次需要时重新创建序列或至少重新创建等待操作。 Action 应该被丢弃并经常重复使用。
  • 如果这会造成性能问题并且假设您已经引用了该序列,您还可以更改其速度变量。这应该相应地改变等待时间,即如果速度为 0.5,则等待时间应该加倍。

  • 解决方案 1 的示例:
    CGFloat waitDuration = (value to be determined by you);
    SKAction *sequence = [SKAction sequence:@[
    [SKAction waitForDuration:waitDuration],
    addObject]];

    解决方案 2 的示例:
    SKAction *sequence = [SKAction sequence:@[
    wait,
    addObject]];

    // half the speed, double the wait time
    sequence.speed = 0.5;

    // or if you need to derive speed from waitDuration (which must be >0.0)
    sequence.speed = (1.0 / waitDuration);

    如果序列不受速度影响,请尝试设置 wait取而代之的是行动的速度。

    关于ios - 如何更改永远运行的 SKAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25995855/

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