Con*_*sed 3 parent ios sprite-kit skspritenode swift
A SKSpriteNode有一个父母,该父母是随机分配的,并且不知道是谁。
如何SKSpriteNode找到它的父级,然后从场景中删除父级,从而删除自身和父级?
如果您仔细阅读了文档,则会removeFromParent在SKNode类中找到一个称为的方法。只是称呼它:
yourSpriteNode.removeFromParent()
Run Code Online (Sandbox Code Playgroud)
或者,如果要在一系列序列后从其父节点中删除该节点SKAction,则可以使用SKAction.removeFromParent()。
let removeFromParentAction = SKAction.removeFromParent()
let sequence = SKAction.sequence([yourOtherActions, removeFromParentAction])
yourSpriteNode.run(sequence)
Run Code Online (Sandbox Code Playgroud)
编辑:
阅读您的评论后,我可以猜测您可能做了以下事情:
// "cherry pick" an action
let action = AllMyActions.action1
yourSpriteNode.run(action);
Run Code Online (Sandbox Code Playgroud)
好了,解决此问题的方法是创建一个如下操作:
let removeParent = SKAction.run {
[unowned self] in self.yourSpriteNode.parent?.removeFromParent() }
Run Code Online (Sandbox Code Playgroud)
将上面的代码放在您选择动作的那一行之后,然后
yourSpriteNode.run(SKAction.sequence([action, removeParent]))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |