【问题标题】:Running actions in sequence SpriteKit按顺序运行动作 SpriteKit
【发布时间】:2016-08-08 09:11:15
【问题描述】:

在我的 iOS 应用程序中,我尝试将卡片分配给所有玩家。但是,当我尝试运行动作序列时,我的卡片都没有移动。我做错了什么?

    override func didMoveToView(view: SKView) {
    /* Setup your scene here */
    var actions = [SKAction]()
    let cards = makeDeck()
    for c in cards {
        let card = Card(key: c)
        card.position = CGPointMake(300, 300)
        addChild(card)
        actions.append(SKAction.moveTo(giveCardToPlayer(cards.indexOf(c)!), duration: 2.0))
    }
    self.runAction(SKAction.sequence(actions))
}

【问题讨论】:

  • 有两件事:1)可能您使用的是Swift 3 beta,否则您的语法错误,因此请在您的问题中添加相关标签。 2)您应该发布有关 giveCardToPlayer 的代码以更好地了解发生了什么,可能此函数返回相同的 card.position。
  • 你正在移动场景(自己),你想把动作放在卡片上

标签: ios swift xcode sprite-kit


【解决方案1】:

改变

self.runAction(SKAction.sequence(actions))

cards.runAction(SKAction.sequence(actions))

目前,您在场景而不是卡片上运行一系列动作。

没有看到任何其他代码,我认为这是正确的,但是如果这没有帮助,我建议从 giveCardToPlayer 发布代码

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 2019-03-30
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2019-03-27
    • 1970-01-01
    相关资源
    最近更新 更多