0

只是一个关于 SpriteKit 中使用 swift 的射弹的快速问题。我的“怪物”有以下代码,我想顺利射出手里剑,但是,它现在只是在随机点弹出,而不是像我在 touhcesBegan 函数中编码时那样顺利地从我的角色中射出

这是代码:

func monsterShoots() {

    let monsterShuriken = SKSpriteNode(imageNamed: "projectile-1")
    monsterShuriken.position = monster.position
    addChild(monsterShuriken)
    monster.position.y += CGFloat(arc4random_uniform(30)) - CGFloat(arc4random_uniform(30))

    monsterShuriken.position.x -= CGFloat(arc4random_uniform(1000))

    let actionMoveMonster = SKAction.moveTo(monsterShuriken.position, duration: 1.0)
    let actionMoveDoneMonster = SKAction.removeFromParent()
    monsterShuriken.runAction(SKAction.sequence([actionMoveMonster, actionMoveDoneMonster]))
}

我在 didMoveToView 中重复操作:

runAction(SKAction.repeatActionForever(
        SKAction.sequence([
            SKAction.runBlock(monsterShoots),
            SKAction.waitForDuration(1.0)
            ])
        ))

谢谢

4

1 回答 1

0

我认为你需要这样写:

monster.position.y += CGFloat(arc4random_uniform(30)) - CGFloat(arc4random_uniform(30))

在这之前:

monsterShuriken.position = monster.position
于 2015-10-02T05:22:11.647 回答