-1

我有一个对象继承SKNode了我将其位置设置为某个点的位置。我将节点添加到图层,其位置仍设置为同一点。该节点出现在(0,0)处,后来出现在其一个动作的完成块中,我看到它的位置已更改为(0,0)。

SKNode对象有 1 个位置为 (0,0) 的子对象(粒子发射器)。(注意粒子发射器的位置应该是(0,0),节点本身(发射器的父节点)应该在我设置的任何位置。

任何想法为什么会发生这种情况?

编辑:

我添加了

- (void)setPosition:(CGPoint)position
{
    [super setPosition:position];
}

到我的班级并在那里放一个断点。当我设置位置时,断点第一次被击中,但再也没有被击中。不知何故,位置仍然是(0,0)......

编辑2:

SKNode 位置不工作,总是默认 0,0

这篇文章描述了我的确切问题。

4

1 回答 1

0

我发现的解决方案并不完美,但它现在可以工作。

我正在做的是在我设置位置并将节点添加为子节点之后设置物理体。

我为我的爆炸​​添加了一个方法,称为addPhysics设置物理体。

self.explosion.position = self.position;
[self.gameDelegate addNodeToLayer:self.explosion];
[self.explosion addPhysics];
于 2014-02-14T02:04:58.327 回答