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

ios – Xcode SpriteKit – 删除Sprite并停止动作 – repeatActionForever,第1张

概述我是 Swift和SpritKit的新手,对我的游戏有一些问题. 在我的代码的didMoveToView(view:SKView){}部分中,我调用下面的语句来填充屏幕上的怪物.在我的函数addMonster(){} 然后怪物动画从右侧移动到屏幕的左侧.一旦他们离开屏幕的另一侧,精灵就会被移除. 代码A. runAction(SKAction.repeatActionForever( 我是 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")
总结

以上是内存溢出为你收集整理的ios – Xcode SpriteKit – 删除Sprite并停止动作 – repeatActionForever全部内容,希望文章能够帮你解决ios – Xcode SpriteKit – 删除Sprite并停止动作 – repeatActionForever所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存