为什么这个SKEmitterNode没有显示它应该如何?

时间:2014-03-29 00:09:11

标签: ios objective-c sprite-kit

    self._player = [SKSpriteNode spriteNodeWithImageNamed:@"test.png"];
    __player.position = CGPointMake(size.width/2, size.height/2);

    SKEmitterNode *trail = [SKEmitterNode orb_emitterNamed:@"Trail"];
    trail.targetNode = self;
    trail.position = CGPointMake(CGRectGetMidX(__player.frame), CGRectGetMidY(__player.frame));
    [__player addChild:trail];

    [self addChild:__player];

以上是我有一个SKEmitterNode出现在我拥有的图像下面的代码,并且跟随图像的动作,因为它是图像的孩子。会发生什么是图像和SKEmitterNode,但在不同的位置。播放器节点显示在屏幕的中心(应该如此),然后发射器节点显示在屏幕的右上角,但仍然遵循触摸的过程。所以基本上,他们移动相同,但有不同的位置。我不明白为什么因为trail.position有一个cgpoint make的玩家中心。

有什么原因吗?

1 个答案:

答案 0 :(得分:0)

解决方案正在取出以下内容:

trail.position = CGPointMake(CGRectGetMidX(__player.frame), CGRectGetMidY(__player.frame));

任何人都有类似的问题。