gpt4 book ai didi

ios - swift spritekit - 无法使用类型为 'runAction' 的参数调用 'SKAction!'

转载 作者:可可西里 更新时间:2023-10-31 23:59:24 24 4
gpt4 key购买 nike

我试图让一个 SKSpriteNode 在屏幕上弹跳,但是当我运行它时,我得到一个错误(在第一行):

cannot invoke 'runAction' with an argument of type 'SKAction!'

我不知道是什么原因造成的。我在下面粘贴了整个 runAction 代码:

self.runAction(SKAction.sequence(
[ SKAction.repeatAction(SKAction.sequence(
[
{self.updatePath()},
SKAction.followPath(path.CGPath, duration: 3.0)
]), count: numberOfBounces),
{actionMoveDone()}
]
))

提前致谢!

最佳答案

改变 Action 的参数将不会影响 Action 一旦开始。因此,您的操作将在执行一系列操作期间重复使用相同的原始路径。此外,您在 self 上运行操作,我假设它是一个 SKScene 子类,而 followPath 操作通常在 Sprite 上运行。

如果您希望 Sprite 在每次迭代中遵循不同的路径,您将需要创建一个新的 Action 。一种方法是创建一个函数来更新路径,创建一个新 Action ,然后在当前 Action 完成时调用自身。例如,

func createAction() {
updatePath()
sprite.runAction(SKAction.followPath(path.CGPath, asOffset: false, orientToPath: true, duration: 3.0),
completion: {
if (++self.count < numberOfBounces) {
self.createAction()
}
else {
// Run this after running the action numberOfBounces times
self.actionMoveDone()
}
}
)
}

并通过调用函数开始系列

createAction()

关于ios - swift spritekit - 无法使用类型为 'runAction' 的参数调用 'SKAction!',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27698835/

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