标签: skaction

如何实现SKActionTimingFunction?

如何在objective-c中实现SKActionTimingFunction?我到处寻找,我刚刚在swift中找到了一个例子.

谢谢!

objective-c ios sprite-kit skaction

1
推荐指数
1
解决办法
461
查看次数

在一个序列内同时运行两个动作

我不确定我所寻求的是否可行,但我只是在检查以确保我没有做到这一点.

目前我有两个序列,它们同时运行.每个序列通过等待3秒开始,然后一个序列缩放节点,另一个序列调整该节点的alpha.所以代码看起来像这样:

node.runAction(SKAction.sequence([animationWait, animationScale]))
node.runAction(SKAction.sequence([animationWait, animationAlpha]))
Run Code Online (Sandbox Code Playgroud)

但是有没有办法在一个序列中同时运行animationScale和animationAlpha?所以它看起来像这样(这不起作用,但我希望你能看到我正在尝试做的事情):

node.runAction(SKAction.sequence([animationWait, (animationScale, animationAlpha)]))
Run Code Online (Sandbox Code Playgroud)

sequence sprite-kit skaction swift

1
推荐指数
1
解决办法
3269
查看次数

使用 SKAction 调用一个函数每隔 X 秒 Swift

我有两个函数可以在 GamePlay 场景中生成敌人。我尝试使用 NSTimers 每 0.3 秒调用一次它们,但是当应用程序失去焦点时,计时器会继续运行并产生数百个敌人。

我读到 SKActions 会自动暂停,所以我尝试实现一个,但我收到一条错误消息:

无法使用类型为“(SKAction!)”的参数列表调用“repeatActionForever”

无法使用类型为“((), queue: (Double))”的参数列表调用“runBlock”

代码:

override func didMoveToView(view: SKView) {

superblockRandomizer = NSTimeInterval(arc4random_uniform(5) + 5)
runAction(SKAction.repeatActionForever(SKAction.sequence(SKAction.runBlock(spawnEnemies(), queue: (0.3)))))
runAction(SKAction.repeatActionForever(SKAction.sequence(SKAction.runBlock(spawnSuperBlocks(), queue: (superblockRandomizer)))))
}
Run Code Online (Sandbox Code Playgroud)

我想运行的两个函数是 spawnEnemies 和 spawnSuperBlocks。任何帮助将不胜感激!

编辑:当场景移动到视图时,它会立即生成超级块。这是我为超级块获得的代码

    let spawnSuperBlock = SKAction.sequence([SKAction.runBlock(spawnSuperBlocks), SKAction.waitForDuration(superblockRandomizer)])
    runAction(SKAction.repeatActionForever(spawnSuperBlock))
Run Code Online (Sandbox Code Playgroud)

它不应该在产卵前至少等待 superblockRandomizer 时间吗?

ios skaction swift

1
推荐指数
1
解决办法
2424
查看次数

如何让 SKAction 在随机时间段后重复自身

我目前有下面的代码,它每 2 秒重复一次操作,但我希望它在完全随机的时间段内发生,例如 1 到 10 秒之间的某个时间,我使用 arch4random 尝试了几行不同的代码,其中没有工作了。我希望这是一个简单的修复,非常感谢任何建议。

谢谢 runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(callBird), SKAction.waitForDuration(2.0)])))

random repeat sprite-kit skaction swift

1
推荐指数
1
解决办法
196
查看次数

斯威夫特:改变移动的速度到SKAction

我有一个简单的精灵运动,我用以下行触发:

   actionMove = SKAction.moveTo(CGPoint(x: size.width + CGFloat(KUGELWIDTH / 2), y: yPos), duration: NSTimeInterval(actualDuration))
Run Code Online (Sandbox Code Playgroud)

然后我runAction按以下方式打电话:

  let actionMoveDone = SKAction.removeFromParent()
  kugel.runAction(SKAction.sequence([actionMove, actionMoveDone]))
Run Code Online (Sandbox Code Playgroud)

令我感到困惑的是,在运行过程中改变SKAction中间的速度(持续时间).这可能是不可能的,在这种情况下,是否有另一种方法来调用我的精灵周围移动精灵Scene,我可以在它的运动中改变精灵的速度?

skaction swift

1
推荐指数
1
解决办法
834
查看次数

如果我有多个SKactions,如何取消一个SKaction

我很难删除1个SKaction.我知道如果我删除两个SKactions removeAllActions()但我怎么去只删除1仍然会有另一个动作?

xcode sprite-kit skaction swift

0
推荐指数
1
解决办法
118
查看次数

标签 统计

skaction ×6

swift ×5

sprite-kit ×4

ios ×2

objective-c ×1

random ×1

repeat ×1

sequence ×1

xcode ×1