ios - 如何在 Swift 中使用 SKAction 的执行方法

标签 ios swift skaction performselector

我尝试使用 Perform(_:onTarget:) 作为 SKAction 序列的一部分来调用函数。

我已经尝试过:

let action1 = SKAction.fadeIn(withDuration: TimeInterval(0.2))
let action2 = SKAction.wait(forDuration: TimeInterval(0.4))
let action3 = SKAction.fadeOut(withDuration: TimeInterval(0.1))
let action4 = SKAction.perform(self.blinkLightByOrder, onTarget: UFOSprite._ufoBase)
let action5 = SKAction.sequence([action1, action2, action3, action4])

currentLight.run(action5)

当我像这样使用 SKAction.run(block: () -> Void) 时:

let action4 = SKAction.run(self.blinkLightByOrder)

它可以工作,但我需要发送对象,因为此方法要求 SKSpriteNode:

func blinkLightByOrder(onSprite: SKSpriteNode)

但我不断收到错误,并且无法理解如何实现此执行操作。 谢谢

最佳答案

如果我理解你的问题是正确的,我认为你只是想找到这样的函数:

blinkLightByOrder(onSprite: currentLight)

func blinkLightByOrder(onSprite: SKSpriteNode){
    onSprite.run(action4)
}

它对我有用,只是一个简单的调用函数

关于ios - 如何在 Swift 中使用 SKAction 的执行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47921178/

相关文章:

ios - 当spriteSceneNode到达ios SpriteKit中的某个点时如何触发函数

ios - 你如何以一致的速度移动 IOS SKSprite

ios - UIAutomation 获取 View

ios - “滑动时隐藏导航栏”永远不会返回

ios - 导航栏中未显示栏按钮项

ios - 如何让图像出现在 Swift 的 UI PickerView 组件中?

Swift:改变 moveTo SKAction 的速度

ios - PopToRootViewController 后 TableView 不重新加载/刷新

objective-c - iPad 上的 UITableViewCell 宽度错误?

iphone - 发送到实例的 UITableViewController 无法识别的选择器