【发布时间】:2018-03-09 02:24:09
【问题描述】:
我在场景中有多个同名的精灵节点。如果我想在 .swift 文件中编辑它们,只有一个对条件做出反应,所有其他节点都保持在场景中。 例如,如果我想让它们移动,只需移动一个……我该如何解决?除了大小和位置之外,所有节点都完全相同...
谢谢!
【问题讨论】:
标签: ios swift3 sprite-kit swift4
我在场景中有多个同名的精灵节点。如果我想在 .swift 文件中编辑它们,只有一个对条件做出反应,所有其他节点都保持在场景中。 例如,如果我想让它们移动,只需移动一个……我该如何解决?除了大小和位置之外,所有节点都完全相同...
谢谢!
【问题讨论】:
标签: ios swift3 sprite-kit swift4
仅仅因为节点共享相同的名称并不意味着它们共享相同的属性。人也是如此。如果我遇到两个叫约翰的人,并且我剃了第一个约翰的头,这并不意味着第二个约翰是秃头。
你需要做的是枚举所有同名的孩子。
在 Sprite Kit 中,我们有一个方法,称为 enumerateChildNodes,你可以这样使用它:
node.enumerateChildNodes(withName:"John")
{
//[unowned self] Include this if you are using self to avoid a retain cycle
node,stop in
node.head = shaved
}
【讨论】: