Sar*_*son 2 ios sprite-kit skaction swift
我试图让SKSpriteNode在屏幕上弹跳,但是当我运行它时,我得到一个错误(在第一行):
无法使用"SKAction!"类型的参数调用"runAction"
我不知道造成这种情况的原因.我已经粘贴了下面的整个runAction代码:
self.runAction(SKAction.sequence(
[ SKAction.repeatAction(SKAction.sequence(
[
{self.updatePath()},
SKAction.followPath(path.CGPath, duration: 3.0)
]), count: numberOfBounces),
{actionMoveDone()}
]
))
Run Code Online (Sandbox Code Playgroud)
提前致谢!
更改操作的参数一旦启动就不会对操作产生影响.因此,在执行一系列操作期间,您的操作将重复使用相同的原始路径.此外,您正在运行操作self,我假设它是一个SKScene子类,followPath通常在精灵上运行操作.
如果希望精灵在每次迭代期间遵循不同的路径,则需要创建新的操作.一种方法是创建一个更新路径,创建新操作,然后在当前操作完成时调用自身的函数.例如,
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()
}
}
)
}
Run Code Online (Sandbox Code Playgroud)
并通过调用该函数启动该系列
createAction()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2281 次 |
| 最近记录: |