Sprite kit Spritekit更改父节点会使节点消失

Sprite kit Spritekit更改父节点会使节点消失,sprite-kit,position,coordinates,coordinate-systems,coordinate-transformation,Sprite Kit,Position,Coordinates,Coordinate Systems,Coordinate Transformation,我有一个场景,中间有一个节点(大正方形)。我有其他节点,我想把它们的父节点改为mySquare而不是场景 我尝试使用myNode.moveToParent(mySquare)。它似乎可以工作,因为我可以在节点树中的mySquare下找到我的节点(for node in mySquare.childrenprint me the right nodes)。我的问题是我再也看不到那些节点了 我想知道节点是否有错误的位置,因此我尝试使用node.position=mySquare.convertPoi

我有一个场景,中间有一个节点(大正方形)。我有其他节点,我想把它们的父节点改为mySquare而不是场景

我尝试使用
myNode.moveToParent(mySquare)
。它似乎可以工作,因为我可以在节点树中的
mySquare
下找到我的节点(
for node in mySquare.children
print me the right nodes)。我的问题是我再也看不到那些节点了

我想知道节点是否有错误的位置,因此我尝试使用
node.position=mySquare.convertPoint(node.position,fromNode:self)
更改其位置。我尝试将节点的位置放在moveToParent之前的临时变量中,并转换此位置,但它不起作用。然后,我尝试简单地将节点定位在mySquare的中心,使用
node.position=CGPoint(x:0.5,y:0.5)
作为mySquare的锚定点,但节点仍然消失了

我用火花在节点上放了一个SKEmitter来测试位置。当节点的父节点是场景时,火花正好位于节点所在的位置,也就是说,位于正确的位置。但节点不在那里

你知道怎么解决这个问题吗

非常感谢您抽出时间


附加信息 这就是我创建节点的方式

let object = SKSpriteNode(imageNamed: "myObject")
self.addChild(copy() as! SKSpriteNote)
我将位置设置为与触摸匹配(我在mySquare内部触摸时创建)

mySquare从一开始就已经在场景中(我在场景编辑器中拖动了一个
SKShapeNode
,它是一个正方形)

这是我改变父母的地方

func sizeOfObject(sender: UIPinchGestureRecognizer){
    if (sender.state == .Began){
        for nodes in nodesOnMySquare {
            let pos = table.convertPoint(node.position, fromNode: self)
            node.removeFromParent()
            table.addChild(node)
            node.position = pos
        }
    }
在for循环中,我还测试了moveToParent,如下所示

node.moveToParent(table)  //Same result, the node disappear

检查节点的位置。可能它隐藏在另一个元素后面。

检查节点的位置。可能它隐藏在另一个元素后面。

我也检查了这一点,我尝试将zPosition放置在比项目中任何其他节点都高的位置,但我仍然看不到它。好的,奇怪。目标节点的大小如何?你能给我们一个小样本代码吗?嗯,我看不出你在哪里使用这个对象。它仅在示例中实例化。此外,复制功能丢失。我添加了更多信息。复制函数不是我做的(SKSpriteNode复制函数)。我也检查了这个,我试着把zPosition放在比项目中任何其他节点都高的位置,我仍然看不到它。好吧,奇怪。目标节点的大小如何?你能给我们一个小样本代码吗?嗯,我看不出你在哪里使用这个对象。它仅在示例中实例化。此外,复制功能丢失。我添加了更多信息。复制功能不是由我创建的(SKSpriteNode复制功能)。