加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Xcode SpriteKit – 删除Sprite并停止动作 – repeatActi

发布时间:2020-12-14 19:28:34 所属栏目:百科 来源:网络整理
导读:我是 Swift和SpritKit的新手,对我的游戏有一些问题. 在我的代码的didMoveToView(view:SKView){}部分中,我调用下面的语句来填充屏幕上的怪物.在我的函数addMonster(){} 然后怪物动画从右侧移动到屏幕的左侧.一旦他们离开屏幕的另一侧,精灵就会被移除. 代码A.
我是 Swift和SpritKit的新手,对我的游戏有一些问题.

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

代码A.

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

在添加Mons?er功能中,我调用以下代码将Monster移动到屏幕上.

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)停止产生怪物的代码A和b)如何获取视图中的任何怪物,被删除?

谢谢,

Ryann

解决方法

运行操作时,请使用

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

然后取消它

monster.removeActionForKey("actionA")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读