gpt4 book ai didi

ios - Xcode SpriteKit - 删除 Sprite 并停止 Action - repeatActionForever

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:09 24 4
gpt4 key购买 nike

我是 Swift 和 SpritKit 的新手,我的游戏有一些问题。

在我的代码的 didMoveToView(view: SKView) { } 部分,我调用了下面的语句来填充屏幕上的怪物。在我的 func addMonster() { } 然后怪物动画从右侧移动到屏幕的左侧。一旦他们离开屏幕的另一侧, Sprite 就会被移除。

代码 A

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

在 add Mons†er 函数中,我调用了以下代码,将怪物移动到屏幕上。

    let actualDuration = random(min: CGFloat(6.0), max: CGFloat(10.0))
let actionMove = SKAction.moveTo(CGPoint(x: -monster.size.width/2, y: actualY), duration: NSTimeInterval(actualDuration))
let actionMoveDone = SKAction.removeFromParent()
monster.runAction(SKAction.sequence([actionMove, actionMoveDone]))

上面的所有代码都工作正常。

当用户杀死 X 数量的怪物时,我希望屏幕上的所有其他怪物消失并停止生成。

我的问题是,我如何 a) 阻止 CODE A 生成怪物以及 b) 我如何让 View 中的任何怪物被移除?

谢谢,

瑞安

最佳答案

运行 Action 时,使用

monster.runAction(SKAction.sequence([actionMove, actionMoveDone]), withKey: "actionA")

然后用

取消它
monster.removeActionForKey("actionA")

关于ios - Xcode SpriteKit - 删除 Sprite 并停止 Action - repeatActionForever,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com