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的玩家中心。
有什么原因吗?
答案 0 :(得分:0)
解决方案正在取出以下内容:
trail.position = CGPointMake(CGRectGetMidX(__player.frame), CGRectGetMidY(__player.frame));
任何人都有类似的问题。