swift - 将 SkSpriteNode 定位在 SkAction 完成处理程序中

标签 swift sprite-kit skspritenode skaction completion

我遇到了这个奇怪的问题。我正在使用 addChild 从 GameScene didMove(to view: SKView) 内部添加一个敌人(SKSpriteNode)。

敌人已定位到 x:100、y:100 并且显示正确。 我还有另一个动画,完成后我在同一位置添加另一个敌人。但敌人出现在不同的位置。完成方 block 如下图。

    holeExplosion.runHoleExplosionAction {[unowned self] in
        //self.addEnemy(enemyCount: 1, hole: holeExplosion)
        var modEnemy: ParentEnemy? = nil
        modEnemy = Enemy1(imageNamed: "Zombie1Jump1.png", healthPower:30)

        print(" \(self.scene?.position.x)  \(self.scene?.parent) ")
        self.addChild(modEnemy!)
        modEnemy!.enemySpeed = self.enemy1Speed
        modEnemy!.name = "enemy1"

        modEnemy!.position = CGPoint (x: 100 , y: 100)
        modEnemy!.zPosition = 2
    }

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

你的敌人类有物理主体委托(delegate)?也许您可以首先看到它,因为如果它有它,您必须搜索您的 isDynamic 属性。当该属性等于 true 时,同一空间中不能有 2 个实体。

关于swift - 将 SkSpriteNode 定位在 SkAction 完成处理程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45787674/

相关文章:

ios - SwiftUI 填充距离不一致

swift - 为什么 "Show detail"segue 在我的 splitview 中不可用?

ios - SKPhysicsJointSpring 在两个不是场景直接子对象的对象之间

ios - Swift SpriteKit 在 SKAction.runBlock() 中运行 SKAction

ios - 子类化 SKSpriteNode 时物理体问题?

swift - 从特定点缩放 SpriteNode

swift - 使 SKSpriteNode 运行 Action 与屏幕边缘碰撞

ios - 链接不同类型的 RxSwift observable

swift - UITextView 使用 swift 突出显示所有匹配项

Xcode 链接器命令失败,退出代码为 1